linux/net/l2tp
Eric Dumazet 1769192a3c l2tp: fix potential rcu race
While trying to remove useless synchronize_rcu() calls, I found l2tp is
indeed incorrectly using two of such calls, but also bumps tunnel
refcount after list insertion.

tunnel refcount must be incremented before being made publically visible
by rcu readers.

This fix can be applied to 2.6.35+ and might need a backport for older
kernels, since things were shuffled in commit fd558d186d
(l2tp: Split pppol2tp patch into separate l2tp and ppp parts)

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
CC: James Chapman <jchapman@katalix.com>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-12 17:27:10 -04:00
..
Kconfig l2tp: Add debugfs files for dumping l2tp debug info 2010-04-03 14:56:07 -07:00
Makefile l2tp: Add debugfs files for dumping l2tp debug info 2010-04-03 14:56:07 -07:00
l2tp_core.c l2tp: fix potential rcu race 2011-05-12 17:27:10 -04:00
l2tp_core.h l2tp: make local function static 2010-10-24 14:55:47 -07:00
l2tp_debugfs.c l2tp: kzalloc with swapped params in l2tp_dfs_seq_open 2010-11-01 06:56:02 -07:00
l2tp_eth.c l2tp: fix possible oops on l2tp_eth module unload 2011-03-21 18:10:25 -07:00
l2tp_ip.c inet: Pass flowi to ->queue_xmit(). 2011-05-08 15:28:28 -07:00
l2tp_netlink.c l2tp: Fix set-but-unused variables. 2011-04-17 17:01:05 -07:00
l2tp_ppp.c net: constify some ppp/pptp structs 2010-09-21 18:04:47 -07:00