Commit d1bd8ead authored by Petr Mladek's avatar Petr Mladek Committed by Linus Torvalds

kdb: remove unused kdb_event handling

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.comSigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
Suggested-by: default avatarDaniel 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 2d13bb64
...@@ -77,7 +77,6 @@ extern int kdb_poll_idx; ...@@ -77,7 +77,6 @@ extern int kdb_poll_idx;
* number whenever the kernel debugger is entered. * number whenever the kernel debugger is entered.
*/ */
extern int kdb_initial_cpu; extern int kdb_initial_cpu;
extern atomic_t kdb_event;
/* Types and messages used for dynamically added kdb shell commands */ /* Types and messages used for dynamically added kdb shell commands */
......
...@@ -576,7 +576,6 @@ int vkdb_printf(enum kdb_msgsrc src, const char *fmt, va_list ap) ...@@ -576,7 +576,6 @@ int vkdb_printf(enum kdb_msgsrc src, const char *fmt, va_list ap)
KDB_STATE_SET(PRINTF_LOCK); KDB_STATE_SET(PRINTF_LOCK);
spin_lock_irqsave(&kdb_printf_lock, flags); spin_lock_irqsave(&kdb_printf_lock, flags);
got_printf_lock = 1; got_printf_lock = 1;
atomic_inc(&kdb_event);
} else { } else {
__acquire(kdb_printf_lock); __acquire(kdb_printf_lock);
} }
...@@ -851,7 +850,6 @@ int vkdb_printf(enum kdb_msgsrc src, const char *fmt, va_list ap) ...@@ -851,7 +850,6 @@ int vkdb_printf(enum kdb_msgsrc src, const char *fmt, va_list ap)
got_printf_lock = 0; got_printf_lock = 0;
spin_unlock_irqrestore(&kdb_printf_lock, flags); spin_unlock_irqrestore(&kdb_printf_lock, flags);
KDB_STATE_CLEAR(PRINTF_LOCK); KDB_STATE_CLEAR(PRINTF_LOCK);
atomic_dec(&kdb_event);
} else { } else {
__release(kdb_printf_lock); __release(kdb_printf_lock);
} }
......
...@@ -60,7 +60,6 @@ int kdb_grep_trailing; ...@@ -60,7 +60,6 @@ int kdb_grep_trailing;
* Kernel debugger state flags * Kernel debugger state flags
*/ */
int kdb_flags; int kdb_flags;
atomic_t kdb_event;
/* /*
* kdb_lock protects updates to kdb_initial_cpu. Used to * kdb_lock protects updates to kdb_initial_cpu. Used to
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment