diff options
Diffstat (limited to 'net')
| -rw-r--r-- | net/ipv4/fib_lookup.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/net/ipv4/fib_lookup.h b/net/ipv4/fib_lookup.h index a29edf2219c8..c079cc0ec651 100644 --- a/net/ipv4/fib_lookup.h +++ b/net/ipv4/fib_lookup.h | |||
| @@ -47,11 +47,8 @@ extern int fib_detect_death(struct fib_info *fi, int order, | |||
| 47 | static inline void fib_result_assign(struct fib_result *res, | 47 | static inline void fib_result_assign(struct fib_result *res, |
| 48 | struct fib_info *fi) | 48 | struct fib_info *fi) |
| 49 | { | 49 | { |
| 50 | if (res->fi != NULL) | 50 | /* we used to play games with refcounts, but we now use RCU */ |
| 51 | fib_info_put(res->fi); | ||
| 52 | res->fi = fi; | 51 | res->fi = fi; |
| 53 | if (fi != NULL) | ||
| 54 | atomic_inc(&fi->fib_clntref); | ||
| 55 | } | 52 | } |
| 56 | 53 | ||
| 57 | #endif /* _FIB_LOOKUP_H */ | 54 | #endif /* _FIB_LOOKUP_H */ |
