printk: kmsg_dumper: remove @active field
authorJohn Ogness <john.ogness@linutronix.de>
Wed, 3 Mar 2021 10:15:24 +0000 (11:15 +0100)
committerPetr Mladek <pmladek@suse.com>
Mon, 8 Mar 2021 10:43:23 +0000 (11:43 +0100)
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: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20210303101528.29901-12-john.ogness@linutronix.de
arch/powerpc/xmon/xmon.c
include/linux/kmsg_dump.h
kernel/debug/kdb/kdb_main.c
kernel/printk/printk.c

index dcd817ca2edfdc321fc15d54895a31de149999d6..a777573a0c38a2edae4f67503ac7bf955ecc4625 100644 (file)
@@ -3005,7 +3005,7 @@ print_address(unsigned long addr)
 static void
 dump_log_buf(void)
 {
-       struct kmsg_dumper dumper = { .active = 1 };
+       struct kmsg_dumper dumper;
        unsigned char buf[128];
        size_t len;
 
index 070c994ff19fa8da1e1eab8b8353269141a1da82..84eaa2090efa1ed9c1f7a1f9ae1b7308d40e188d 100644 (file)
@@ -36,7 +36,6 @@ enum kmsg_dump_reason {
  *             through the record iterator
  * @max_reason:        filter for highest reason number that should be dumped
  * @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
  * @next_seq:  Points after the newest message to dump
  */
@@ -44,7 +43,6 @@ struct kmsg_dumper {
        struct list_head list;
        void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason);
        enum kmsg_dump_reason max_reason;
-       bool active;
        bool registered;
 
        /* private state of the kmsg iterator */
index 930ac1b25ec7c4377e3cfcdc63c7a558826bf60e..315169d5e1195a1503bde4a9d762d3b2bdc57c44 100644 (file)
@@ -2101,7 +2101,7 @@ static int kdb_dmesg(int argc, const char **argv)
        int adjust = 0;
        int n = 0;
        int skip = 0;
-       struct kmsg_dumper dumper = { .active = 1 };
+       struct kmsg_dumper dumper;
        size_t len;
        char buf[201];
 
index e794a08de00f63522c563fcd5a73ff85fcb69278..ce4cc64ba7c940650c399f17f299913d184695b4 100644 (file)
@@ -3408,8 +3408,6 @@ void kmsg_dump(enum kmsg_dump_reason reason)
                        continue;
 
                /* initialize iterator with data about the stored records */
-               dumper->active = true;
-
                logbuf_lock_irqsave(flags);
                dumper->cur_seq = latched_seq_read_nolock(&clear_seq);
                dumper->next_seq = prb_next_seq(prb);
@@ -3417,9 +3415,6 @@ void kmsg_dump(enum kmsg_dump_reason reason)
 
                /* invoke dumper which will iterate over records */
                dumper->dump(dumper, reason);
-
-               /* reset iterator */
-               dumper->active = false;
        }
        rcu_read_unlock();
 }
@@ -3454,9 +3449,6 @@ bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog,
 
        prb_rec_init_rd(&r, &info, line, size);
 
-       if (!dumper->active)
-               goto out;
-
        /* Read text or count text lines? */
        if (line) {
                if (!prb_read_valid(prb, dumper->cur_seq, &r))
@@ -3542,7 +3534,7 @@ bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog,
        bool ret = false;
        bool time = printk_time;
 
-       if (!dumper->active || !buf || !size)
+       if (!buf || !size)
                goto out;
 
        logbuf_lock_irqsave(flags);