Commit 5f6c7648 authored by John Ogness's avatar John Ogness Committed by Petr Mladek

printk: kmsg_dumper: remove @active field

All 6 kmsg_dumpers do not benefit from the @active flag:

  (provide their own synchronization)
  - arch/powerpc/kernel/nvram_64.c
  - arch/um/kernel/kmsg_dump.c
  - drivers/mtd/mtdoops.c
  - fs/pstore/platform.c

  (only dump on KMSG_DUMP_PANIC, which does not require
  synchronization)
  - arch/powerpc/platforms/powernv/opal-kmsg.c
  - drivers/hv/vmbus_drv.c

The other 2 kmsg_dump users also do not rely on @active:

  (hard-code @active to always be true)
  - arch/powerpc/xmon/xmon.c
  - kernel/debug/kdb/kdb_main.c

Therefore, @active can be removed.
Signed-off-by: default avatarJohn Ogness <john.ogness@linutronix.de>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20210303101528.29901-12-john.ogness@linutronix.de
parent 636babdc
...@@ -3005,7 +3005,7 @@ print_address(unsigned long addr) ...@@ -3005,7 +3005,7 @@ print_address(unsigned long addr)
static void static void
dump_log_buf(void) dump_log_buf(void)
{ {
struct kmsg_dumper dumper = { .active = 1 }; struct kmsg_dumper dumper;
unsigned char buf[128]; unsigned char buf[128];
size_t len; size_t len;
......
...@@ -36,7 +36,6 @@ enum kmsg_dump_reason { ...@@ -36,7 +36,6 @@ enum kmsg_dump_reason {
* through the record iterator * through the record iterator
* @max_reason: filter for highest reason number that should be dumped * @max_reason: filter for highest reason number that should be dumped
* @registered: Flag that specifies if this is already registered * @registered: Flag that specifies if this is already registered
* @active: Flag that specifies if this is currently dumping
* @cur_seq: Points to the oldest message to dump * @cur_seq: Points to the oldest message to dump
* @next_seq: Points after the newest message to dump * @next_seq: Points after the newest message to dump
*/ */
...@@ -44,7 +43,6 @@ struct kmsg_dumper { ...@@ -44,7 +43,6 @@ struct kmsg_dumper {
struct list_head list; struct list_head list;
void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason); void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason);
enum kmsg_dump_reason max_reason; enum kmsg_dump_reason max_reason;
bool active;
bool registered; bool registered;
/* private state of the kmsg iterator */ /* private state of the kmsg iterator */
......
...@@ -2101,7 +2101,7 @@ static int kdb_dmesg(int argc, const char **argv) ...@@ -2101,7 +2101,7 @@ static int kdb_dmesg(int argc, const char **argv)
int adjust = 0; int adjust = 0;
int n = 0; int n = 0;
int skip = 0; int skip = 0;
struct kmsg_dumper dumper = { .active = 1 }; struct kmsg_dumper dumper;
size_t len; size_t len;
char buf[201]; char buf[201];
......
...@@ -3408,8 +3408,6 @@ void kmsg_dump(enum kmsg_dump_reason reason) ...@@ -3408,8 +3408,6 @@ void kmsg_dump(enum kmsg_dump_reason reason)
continue; continue;
/* initialize iterator with data about the stored records */ /* initialize iterator with data about the stored records */
dumper->active = true;
logbuf_lock_irqsave(flags); logbuf_lock_irqsave(flags);
dumper->cur_seq = latched_seq_read_nolock(&clear_seq); dumper->cur_seq = latched_seq_read_nolock(&clear_seq);
dumper->next_seq = prb_next_seq(prb); dumper->next_seq = prb_next_seq(prb);
...@@ -3417,9 +3415,6 @@ void kmsg_dump(enum kmsg_dump_reason reason) ...@@ -3417,9 +3415,6 @@ void kmsg_dump(enum kmsg_dump_reason reason)
/* invoke dumper which will iterate over records */ /* invoke dumper which will iterate over records */
dumper->dump(dumper, reason); dumper->dump(dumper, reason);
/* reset iterator */
dumper->active = false;
} }
rcu_read_unlock(); rcu_read_unlock();
} }
...@@ -3454,9 +3449,6 @@ bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog, ...@@ -3454,9 +3449,6 @@ bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog,
prb_rec_init_rd(&r, &info, line, size); prb_rec_init_rd(&r, &info, line, size);
if (!dumper->active)
goto out;
/* Read text or count text lines? */ /* Read text or count text lines? */
if (line) { if (line) {
if (!prb_read_valid(prb, dumper->cur_seq, &r)) if (!prb_read_valid(prb, dumper->cur_seq, &r))
...@@ -3542,7 +3534,7 @@ bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, ...@@ -3542,7 +3534,7 @@ bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog,
bool ret = false; bool ret = false;
bool time = printk_time; bool time = printk_time;
if (!dumper->active || !buf || !size) if (!buf || !size)
goto out; goto out;
logbuf_lock_irqsave(flags); logbuf_lock_irqsave(flags);
......
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