kdb: remove unused kdb_event handling
authorPetr Mladek <pmladek@suse.com>
Wed, 14 Dec 2016 23:05:52 +0000 (15:05 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 15 Dec 2016 00:04:08 +0000 (16:04 -0800)
kdb_event state variable is only set but never checked in the kernel
code.

http://www.spinics.net/lists/kdb/msg01733.html suggests that this
variable affected WARN_CONSOLE_UNLOCKED() in the original
implementation.  But this check never went upstream.

The semantic is unclear and racy.  The value is updated after the
kdb_printf_lock is acquired and after it is released.  It should be
symmetric at minimum.  The value should be manipulated either inside or
outside the locked area.

Fortunately, it seems that the original function is gone and we could
simply remove the state variable.

Link: http://lkml.kernel.org/r/1480412276-16690-2-git-send-email-pmladek@suse.com
Signed-off-by: Petr Mladek <pmladek@suse.com>
Suggested-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/kdb.h
kernel/debug/kdb/kdb_io.c
kernel/debug/kdb/kdb_main.c

index 410decacff8fc7907622e99b9cbf7f3c32b1aefb..eb706188dc23232b8ea1b248b48c98694704d5f9 100644 (file)
@@ -77,7 +77,6 @@ extern int kdb_poll_idx;
  * number whenever the kernel debugger is entered.
  */
 extern int kdb_initial_cpu;
-extern atomic_t kdb_event;
 
 /* Types and messages used for dynamically added kdb shell commands */
 
index 98c9011eac7802e105c90064c5a5a670b8a53153..46f477bebe0c155aefffb124d84a375824922043 100644 (file)
@@ -576,7 +576,6 @@ int vkdb_printf(enum kdb_msgsrc src, const char *fmt, va_list ap)
                KDB_STATE_SET(PRINTF_LOCK);
                spin_lock_irqsave(&kdb_printf_lock, flags);
                got_printf_lock = 1;
-               atomic_inc(&kdb_event);
        } else {
                __acquire(kdb_printf_lock);
        }
@@ -851,7 +850,6 @@ kdb_print_out:
                got_printf_lock = 0;
                spin_unlock_irqrestore(&kdb_printf_lock, flags);
                KDB_STATE_CLEAR(PRINTF_LOCK);
-               atomic_dec(&kdb_event);
        } else {
                __release(kdb_printf_lock);
        }
index 2a20c0dfdafc77cd3207e9debe4e8b9309457f19..ca183919d3027a7b3d6792ffc07de0c55fbc920f 100644 (file)
@@ -60,7 +60,6 @@ int kdb_grep_trailing;
  * Kernel debugger state flags
  */
 int kdb_flags;
-atomic_t kdb_event;
 
 /*
  * kdb_lock protects updates to kdb_initial_cpu.  Used to