]> git.baikalelectronics.ru Git - kernel.git/commit
l2tp: don't BUG_ON session magic checks in l2tp_ppp
authorTom Parkin <tparkin@katalix.com>
Fri, 24 Jul 2020 15:31:53 +0000 (16:31 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 25 Jul 2020 00:19:14 +0000 (17:19 -0700)
commit12f63df0bc1bacbc4268727781265a34050cc216
treeadc957c6c656ed86abc5f4dd7655d492db5e9d37
parentc2d17948f6f6dbe540528cdfbf3dcb56b059666d
l2tp: don't BUG_ON session magic checks in l2tp_ppp

checkpatch advises that WARN_ON and recovery code are preferred over
BUG_ON which crashes the kernel.

l2tp_ppp.c's BUG_ON checks of the l2tp session structure's "magic" field
occur in code paths where it's reasonably easy to recover:

 * In the case of pppol2tp_sock_to_session, we can return NULL and the
   caller will bail out appropriately.  There is no change required to
   any of the callsites of this function since they already handle
   pppol2tp_sock_to_session returning NULL.

 * In the case of pppol2tp_session_destruct we can just avoid
   decrementing the reference count on the suspect session structure.
   In the worst case scenario this results in a memory leak, which is
   preferable to a crash.

Convert these uses of BUG_ON to WARN_ON accordingly.

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