l2tp: WARN_ON rather than BUG_ON in l2tp_session_queue_purge
authorTom Parkin <tparkin@katalix.com>
Fri, 24 Jul 2020 15:31:55 +0000 (16:31 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 25 Jul 2020 00:19:14 +0000 (17:19 -0700)
commit493048f5dfcd0093880414928717f68613ba9157
treecde0594b8ee371b19ca93b0a2cf6b3ca9e02ad57
parentebb4f5e6e4cd68a856aeea5d319a76f47543c3a9
l2tp: WARN_ON rather than BUG_ON in l2tp_session_queue_purge

l2tp_session_queue_purge is used during session shutdown to drop any
skbs queued for reordering purposes according to L2TP dataplane rules.

The BUG_ON in this function checks the session magic feather in an
attempt to catch lifetime bugs.

Rather than crashing the kernel with a BUG_ON, we can simply WARN_ON and
refuse to do anything more -- in the worst case this could result in a
leak.  However this is highly unlikely given that the session purge only
occurs from codepaths which have obtained the session by means of a lookup
via. the parent tunnel and which check the session "dead" flag to
protect against shutdown races.

While we're here, have l2tp_session_queue_purge return void rather than
an integer, since neither of the callsites checked the return value.

Signed-off-by: Tom Parkin <tparkin@katalix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_core.c