diff options
| author | David Ahern <[email protected]> | 2018-04-20 22:38:02 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2018-04-21 20:06:14 +0000 |
| commit | a68886a691804d3f6d479ebf6825480fbafb6a00 (patch) | |
| tree | 2240cab921badf927268bcd687b8b2743179e86c /net/tipc/net.c | |
| parent | net/ipv6: Move release of fib6_info from pcpu routes to helper (diff) | |
| download | kernel-a68886a691804d3f6d479ebf6825480fbafb6a00.tar.gz kernel-a68886a691804d3f6d479ebf6825480fbafb6a00.zip | |
net/ipv6: Make from in rt6_info rcu protected
When a dst entry is created from a fib entry, the 'from' in rt6_info
is set to the fib entry. The 'from' reference is used most notably for
cookie checking - making sure stale dst entries are updated if the
fib entry is changed.
When a fib entry is deleted, the pcpu routes on it are walked releasing
the fib6_info reference. This is needed for the fib6_info cleanup to
happen and to make sure all device references are released in a timely
manner.
There is a race window when a FIB entry is deleted and the 'from' on the
pcpu route is dropped and the pcpu route hits a cookie check. Handle
this race using rcu on from.
Signed-off-by: David Ahern <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/tipc/net.c')
0 files changed, 0 insertions, 0 deletions
