Skip to content

net/ipv6: Another followup to the fib6_info change

David Ahern netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7net/ipv6: Clean up rt expires helpersinclude/net/ip6_fib.h net/ipv6/route.c+9 -210 replies
2/7net/ipv6: Rename rt6_get_cookie_safeinclude/net/ip6_fib.h net/ipv6/route.c+5 -50 replies
3/7net/ipv6: Move rcu_read_lock to callers of ip6_rt_cache_allocnet/ipv6/route.c+6 -70 replies
4/7net/ipv6: Move rcu locking to callers of fib6_get_cookie_safeinclude/net/ip6_fib.h net/ipv6/route.c+14 -50 replies
5/7net/ipv6: Move release of fib6_info from pcpu routes to helpernet/ipv6/ip6_fib.c+23 -180 replies
6/7net/ipv6: Make from in rt6_info rcu protectedinclude/net/ip6_fib.h net/ipv6/ip6_fib.c net/ipv6/ip6_output.c +1 more+88 -350 replies
7/7net/ipv6: Remove unncessary check on f6i in fib6_checknet/ipv6/route.c+1 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH net-next 0/7] net/ipv6: Another followup to the fib6_info change

Last one - for this week.

Patches 1, 2 and 7 are more cleanup patches - removing dead code, moving code from a header to near its single caller, and updating function name.

Patches 3-5 do some refactoring leading up to patch 6 which fixes a NULL dereference. I have only managed to trigger a panic once, so I can not definitively confirm it addresses the problem but it seems pretty clear that it is a race on removing a 'from' reference on an rt6_info and another path using that 'from' value to do cookie checking.

David Ahern (7):
net/ipv6: Clean up rt expires helpers
net/ipv6: Rename rt6_get_cookie_safe
net/ipv6: Move rcu_read_lock to callers of ip6_rt_cache_alloc net/ipv6: Move rcu locking to callers of fib6_get_cookie_safe net/ipv6: Move release of fib6_info from pcpu routes to helper net/ipv6: Make from in rt6_info rcu protected net/ipv6: Remove unncessary check on f6i in fib6_check

 include/net/ip6_fib.h |  41 +++++------------
 net/ipv6/ip6_fib.c    |  45 ++++++++++--------
 net/ipv6/ip6_output.c |   9 +++-
 net/ipv6/route.c      | 124 ++++++++++++++++++++++++++++++++++++--------------
 4 files changed, 136 insertions(+), 83 deletions(-)
Signature · 1 line
2.11.0