Patch "l2tp: hold session while sending creation notifications" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
l2tp: hold session while sending creation notifications
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
l2tp-hold-session-while-sending-creation-notifications.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
5e6a9e5a3554a5b3db09cdc22253af1849c65dffMon Sep 17 00:00:00 2001
From: Guillaume Nault <[email protected]>
Date: Fri, 31 Mar 2017 13:02:29 +0200
Subject: l2tp: hold session while sending creation notifications
From: Guillaume Nault <[email protected]>
commit 5e6a9e5a3554a5b3db09cdc22253af1849c65dff upstream.
l2tp_session_find() doesn't take any reference on the returned session. Therefore, the session may disappear while sending the notification.
Use l2tp_session_get() instead and decrement session's refcount once the notification is sent.
--- net/l2tp/l2tp_netlink.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
net/l2tp/l2tp_netlink.c +4 -2
@@ -634,10 +634,12 @@ static int l2tp_nl_cmd_session_create(st session_id, peer_session_id, &cfg);if (ret >=0 ) { - session =l2tp_session_find (net, tunnel, session_id); -if (session) + session =l2tp_session_get (net, tunnel, session_id, false); +if (session) { ret =l2tp_session_notify (&l2tp_nl_family, info, session,L2TP_CMD_SESSION_CREATE ); +l2tp_session_dec_refcount (session); + } } out:
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/l2tp-take-a-reference-on-sessions-used-in-genetlink-handlers.patch queue-4.9/l2tp-ensure-session-can-t-get-removed-during-pppol2tp_session_ioctl.patch queue-4.9/l2tp-fix-race-in-l2tp_recv_common.patch queue-4.9/l2tp-hold-session-while-sending-creation-notifications.patch queue-4.9/l2tp-fix-duplicate-session-creation.patch