summaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_flowlabel.c
diff options
context:
space:
mode:
authorJulian Anastasov <ja@ssi.bg>2013-09-12 11:21:09 +0300
committerSimon Horman <horms@verge.net.au>2013-09-18 14:39:39 -0500
commit742617b176909e586a4cf9b142c996c25986fce8 (patch)
tree50889a950b87f84ec85e485d4d95409c9c356da7 /net/ipv6/ip6_flowlabel.c
parent2f3d771a35fee21a1f17364b46b3c8cc66dc6892 (diff)
ipvs: do not use dest after ip_vs_dest_put in LBLCR
commit c5549571f975ab ("ipvs: convert lblcr scheduler to rcu") allows RCU readers to use dest after calling ip_vs_dest_put(). In the corner case it can race with ip_vs_dest_trash_expire() which can release the dest while it is being returned to the RCU readers as scheduling result. To fix the problem do not allow e->dest to be replaced and defer the ip_vs_dest_put() call by using RCU callback. Now e->dest does not need to be RCU pointer. Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'net/ipv6/ip6_flowlabel.c')
0 files changed, 0 insertions, 0 deletions