From: Julian Anastasov Date: Thu, 12 Sep 2013 08:21:08 +0000 (+0300) Subject: ipvs: do not use dest after ip_vs_dest_put in LBLC X-Git-Tag: v3.12-rc4~30^2~4^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f3d771a35fee21a1f17364b46b3c8cc66dc6892;p=pandora-kernel.git ipvs: do not use dest after ip_vs_dest_put in LBLC commit c2a4ffb70eef39 ("ipvs: convert lblc 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 en->dest to be replaced and defer the ip_vs_dest_put() call by using RCU callback. Now en->dest does not need to be RCU pointer. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman --- Reading git-diff-tree failed