fib: fib_result_assign() should not change fib refcounts
After commit ebc0ffae5
(RCU conversion of fib_lookup()),
fib_result_assign() should not change fib refcounts anymore.
Thanks to Michael who did the bisection and bug report.
Reported-by: Michael Ellerman <michael@ellerman.id.au>
Tested-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
cccbe5ef85
Коммит
1f1b9c9990
|
@ -47,11 +47,8 @@ extern int fib_detect_death(struct fib_info *fi, int order,
|
|||
static inline void fib_result_assign(struct fib_result *res,
|
||||
struct fib_info *fi)
|
||||
{
|
||||
if (res->fi != NULL)
|
||||
fib_info_put(res->fi);
|
||||
/* we used to play games with refcounts, but we now use RCU */
|
||||
res->fi = fi;
|
||||
if (fi != NULL)
|
||||
atomic_inc(&fi->fib_clntref);
|
||||
}
|
||||
|
||||
#endif /* _FIB_LOOKUP_H */
|
||||
|
|
Загрузка…
Ссылка в новой задаче