From: Julian Anastasov Date: Thu, 12 Sep 2013 08:21:09 +0000 (+0300) Subject: ipvs: do not use dest after ip_vs_dest_put in LBLCR X-Git-Tag: v3.12-rc4~30^2~4^2~2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=742617b176909e586a4cf9b142c996c25986fce8;p=pandora-kernel.git 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 Signed-off-by: Simon Horman --- Reading git-diff-tree failed