l2tp_dfs_seq_start had a BUG_ON to catch a possible programming error in
l2tp_dfs_seq_open.

Since we can easily bail out of l2tp_dfs_seq_start, prefer to do that
and flag the error with a WARN_ON rather than crashing the kernel.

Signed-off-by: Tom Parkin <tpar...@katalix.com>
---
 net/l2tp/l2tp_debugfs.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/net/l2tp/l2tp_debugfs.c b/net/l2tp/l2tp_debugfs.c
index 117a6697da72..800a17b988be 100644
--- a/net/l2tp/l2tp_debugfs.c
+++ b/net/l2tp/l2tp_debugfs.c
@@ -72,7 +72,14 @@ static void *l2tp_dfs_seq_start(struct seq_file *m, loff_t 
*offs)
        if (!pos)
                goto out;
 
-       BUG_ON(!m->private);
+       /* Unexpected: m->private is set in l2tp_dfs_seq_open.
+        * Warn on this and bail out early.
+        */
+       if (!m->private) {
+               WARN_ON(!m->private);
+               pd = NULL;
+               goto out;
+       }
        pd = m->private;
 
        if (!pd->tunnel)
-- 
2.17.1

Reply via email to