BRIDGE: Properly dereference the br_should_route_hook
authorPavel Emelyanov <xemul@openvz.org>
Thu, 13 Dec 2007 04:57:24 +0000 (12:57 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 14 Dec 2007 17:51:17 +0000 (09:51 -0800)
commit3f69a38c97c5864e6e01a584e6389eb4aa637706
tree3c8ca3379ef548f41af27352551a9492c60c3b27
parent5de724036762b8a4c03c4979f19b01a98529a601
BRIDGE: Properly dereference the br_should_route_hook

[BRIDGE]: Properly dereference the br_should_route_hook

[ Upstream commit: 82de382ce8e1c7645984616728dc7aaa057821e4 ]

This hook is protected with the RCU, so simple

if (br_should_route_hook)
br_should_route_hook(...)

is not enough on some architectures.

Use the rcu_dereference/rcu_assign_pointer in this case.

Fixed Stephen's comment concerning using the typeof().

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/bridge/br_input.c
net/bridge/netfilter/ebtable_broute.c