/linux-4.4.14/include/linux/ |
H A D | kmsg_dump.h | 34 * struct kmsg_dumper - kernel crash message dumper structure 35 * @list: Entry in the dumper list (private) 43 void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason); 58 bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog, 61 bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, 64 bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, 67 void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper); 69 void kmsg_dump_rewind(struct kmsg_dumper *dumper); 71 int kmsg_dump_register(struct kmsg_dumper *dumper); 73 int kmsg_dump_unregister(struct kmsg_dumper *dumper); 79 static inline bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, kmsg_dump_get_line_nolock() argument 86 static inline bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, kmsg_dump_get_line() argument 92 static inline bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, kmsg_dump_get_buffer() argument 98 static inline void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper) kmsg_dump_rewind_nolock() argument 102 static inline void kmsg_dump_rewind(struct kmsg_dumper *dumper) kmsg_dump_rewind() argument 106 static inline int kmsg_dump_register(struct kmsg_dumper *dumper) kmsg_dump_register() argument 111 static inline int kmsg_dump_unregister(struct kmsg_dumper *dumper) kmsg_dump_unregister() argument
|
H A D | mm_types.h | 367 struct core_thread dumper; member in struct:core_state
|
/linux-4.4.14/arch/um/kernel/ |
H A D | kmsg_dump.c | 7 static void kmsg_dumper_stdout(struct kmsg_dumper *dumper, kmsg_dumper_stdout() argument 28 while (kmsg_dump_get_line(dumper, true, line, sizeof(line), &len)) { kmsg_dumper_stdout()
|
/linux-4.4.14/arch/powerpc/platforms/powernv/ |
H A D | opal-kmsg.c | 2 * kmsg dumper that ensures the OPAL console fully flushes panic messages 26 static void force_opal_console_flush(struct kmsg_dumper *dumper, force_opal_console_flush() argument 71 /* Add our dumper to the list */ opal_kmsg_init()
|
H A D | opal.c | 761 /* Initialise OPAL kmsg dumper for flushing console on panic */
|
/linux-4.4.14/arch/um/include/asm/ |
H A D | a.out-core.h | 1 /* a.out coredump register dumper
|
/linux-4.4.14/kernel/printk/ |
H A D | printk.c | 2803 * kmsg_dump_register - register a kernel log dumper. 2804 * @dumper: pointer to the kmsg_dumper structure 2806 * Adds a kernel log dumper to the system. The dump callback in the 2810 int kmsg_dump_register(struct kmsg_dumper *dumper) kmsg_dump_register() argument 2816 if (!dumper->dump) kmsg_dump_register() 2821 if (!dumper->registered) { kmsg_dump_register() 2822 dumper->registered = 1; kmsg_dump_register() 2823 list_add_tail_rcu(&dumper->list, &dump_list); kmsg_dump_register() 2833 * kmsg_dump_unregister - unregister a kmsg dumper. 2834 * @dumper: pointer to the kmsg_dumper structure 2839 int kmsg_dump_unregister(struct kmsg_dumper *dumper) kmsg_dump_unregister() argument 2845 if (dumper->registered) { kmsg_dump_unregister() 2846 dumper->registered = 0; kmsg_dump_unregister() 2847 list_del_rcu(&dumper->list); kmsg_dump_unregister() 2864 * Call each of the registered dumper's dump() callback, which can 2870 struct kmsg_dumper *dumper; kmsg_dump() local 2877 list_for_each_entry_rcu(dumper, &dump_list, list) { kmsg_dump() 2878 if (dumper->max_reason && reason > dumper->max_reason) kmsg_dump() 2882 dumper->active = true; kmsg_dump() 2885 dumper->cur_seq = clear_seq; kmsg_dump() 2886 dumper->cur_idx = clear_idx; kmsg_dump() 2887 dumper->next_seq = log_next_seq; kmsg_dump() 2888 dumper->next_idx = log_next_idx; kmsg_dump() 2891 /* invoke dumper which will iterate over records */ kmsg_dump() 2892 dumper->dump(dumper, reason); kmsg_dump() 2895 dumper->active = false; kmsg_dump() 2902 * @dumper: registered kmsg dumper 2919 bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog, kmsg_dump_get_line_nolock() argument 2926 if (!dumper->active) kmsg_dump_get_line_nolock() 2929 if (dumper->cur_seq < log_first_seq) { kmsg_dump_get_line_nolock() 2931 dumper->cur_seq = log_first_seq; kmsg_dump_get_line_nolock() 2932 dumper->cur_idx = log_first_idx; kmsg_dump_get_line_nolock() 2936 if (dumper->cur_seq >= log_next_seq) kmsg_dump_get_line_nolock() 2939 msg = log_from_idx(dumper->cur_idx); kmsg_dump_get_line_nolock() 2942 dumper->cur_idx = log_next(dumper->cur_idx); kmsg_dump_get_line_nolock() 2943 dumper->cur_seq++; kmsg_dump_get_line_nolock() 2953 * @dumper: registered kmsg dumper 2968 bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, kmsg_dump_get_line() argument 2975 ret = kmsg_dump_get_line_nolock(dumper, syslog, line, size, len); kmsg_dump_get_line() 2984 * @dumper: registered kmsg dumper 3001 bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, kmsg_dump_get_buffer() argument 3013 if (!dumper->active) kmsg_dump_get_buffer() 3017 if (dumper->cur_seq < log_first_seq) { kmsg_dump_get_buffer() 3019 dumper->cur_seq = log_first_seq; kmsg_dump_get_buffer() 3020 dumper->cur_idx = log_first_idx; kmsg_dump_get_buffer() 3024 if (dumper->cur_seq >= dumper->next_seq) { kmsg_dump_get_buffer() 3030 seq = dumper->cur_seq; kmsg_dump_get_buffer() 3031 idx = dumper->cur_idx; kmsg_dump_get_buffer() 3033 while (seq < dumper->next_seq) { kmsg_dump_get_buffer() 3043 seq = dumper->cur_seq; kmsg_dump_get_buffer() 3044 idx = dumper->cur_idx; kmsg_dump_get_buffer() 3046 while (l > size && seq < dumper->next_seq) { kmsg_dump_get_buffer() 3060 while (seq < dumper->next_seq) { kmsg_dump_get_buffer() 3069 dumper->next_seq = next_seq; kmsg_dump_get_buffer() 3070 dumper->next_idx = next_idx; kmsg_dump_get_buffer() 3082 * @dumper: registered kmsg dumper 3084 * Reset the dumper's iterator so that kmsg_dump_get_line() and 3086 * times within the same dumper.dump() callback. 3090 void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper) kmsg_dump_rewind_nolock() argument 3092 dumper->cur_seq = clear_seq; kmsg_dump_rewind_nolock() 3093 dumper->cur_idx = clear_idx; kmsg_dump_rewind_nolock() 3094 dumper->next_seq = log_next_seq; kmsg_dump_rewind_nolock() 3095 dumper->next_idx = log_next_idx; kmsg_dump_rewind_nolock() 3100 * @dumper: registered kmsg dumper 3102 * Reset the dumper's iterator so that kmsg_dump_get_line() and 3104 * times within the same dumper.dump() callback. 3106 void kmsg_dump_rewind(struct kmsg_dumper *dumper) kmsg_dump_rewind() argument 3111 kmsg_dump_rewind_nolock(dumper); kmsg_dump_rewind()
|
/linux-4.4.14/arch/x86/include/asm/ |
H A D | a.out-core.h | 1 /* a.out coredump register dumper
|
/linux-4.4.14/drivers/mtd/ |
H A D | mtdoops.c | 303 static void mtdoops_do_dump(struct kmsg_dumper *dumper, mtdoops_do_dump() argument 306 struct mtdoops_context *cxt = container_of(dumper, mtdoops_do_dump() 313 kmsg_dump_get_buffer(dumper, true, cxt->oops_buf + MTDOOPS_HEADER_SIZE, mtdoops_do_dump() 364 printk(KERN_ERR "mtdoops: registering kmsg dumper failed, error %d\n", err); mtdoops_notify_add()
|
/linux-4.4.14/arch/m68k/include/asm/ |
H A D | a.out-core.h | 1 /* a.out coredump register dumper
|
/linux-4.4.14/drivers/staging/lustre/lustre/libcfs/ |
H A D | debug.c | 476 struct task_struct *dumper; libcfs_debug_dumplog() local 485 dumper = kthread_run(libcfs_debug_dumplog_thread, libcfs_debug_dumplog() 488 if (IS_ERR(dumper)) libcfs_debug_dumplog() 490 PTR_ERR(dumper)); libcfs_debug_dumplog()
|
/linux-4.4.14/drivers/input/joystick/ |
H A D | joydump.c | 36 #define DRIVER_DESC "Gameport data dumper module"
|
/linux-4.4.14/arch/alpha/include/asm/ |
H A D | a.out-core.h | 1 /* a.out coredump register dumper
|
/linux-4.4.14/fs/pstore/ |
H A D | platform.c | 279 static void pstore_dump(struct kmsg_dumper *dumper, pstore_dump() argument 316 if (!kmsg_dump_get_buffer(dumper, true, dst + hsize, pstore_dump() 337 if (!kmsg_dump_get_buffer(dumper, true, dst, pstore_dump()
|
/linux-4.4.14/fs/ |
H A D | coredump.c | 391 core_state->dumper.task = tsk; coredump_wait() 392 core_state->dumper.next = NULL; coredump_wait() 408 ptr = core_state->dumper.next; coredump_wait() 430 next = mm->core_state->dumper.next; coredump_finish()
|
H A D | binfmt_elf_fdpic.c | 1201 * ELF-FDPIC core dumper 1206 * Modelled on fs/binfmt_elf.c core dumper 1564 * Actual dumper 1633 for (ct = current->mm->core_state->dumper.next; elf_fdpic_core_dump()
|
H A D | binfmt_elf.c | 1188 * ELF core dumper 1744 for (ct = &dump_task->mm->core_state->dumper; ct; ct = ct->next) { fill_note_info() 1955 for (ct = current->mm->core_state->dumper.next; fill_note_info() 2118 * Actual dumper
|
/linux-4.4.14/arch/sh/kernel/ |
H A D | unwinder.c | 129 * stack dumper because the current one faulted unexpectedly.
|
/linux-4.4.14/arch/powerpc/kernel/ |
H A D | nvram_64.c | 86 static void oops_to_nvram(struct kmsg_dumper *dumper, 672 static void oops_to_nvram(struct kmsg_dumper *dumper, oops_to_nvram() argument 713 kmsg_dump_get_buffer(dumper, false, oops_to_nvram() 718 kmsg_dump_rewind(dumper); oops_to_nvram() 719 kmsg_dump_get_buffer(dumper, false, oops_to_nvram()
|
/linux-4.4.14/arch/arm64/mm/ |
H A D | dump.c | 71 * The page dumper groups page table entries of the same type into a single
|
/linux-4.4.14/arch/x86/mm/ |
H A D | dump_pagetables.c | 23 * The dumper groups pagetable entries of the same type into one, and for
|
/linux-4.4.14/fs/proc/ |
H A D | kcore.c | 2 * fs/proc/kcore.c kernel ELF core dumper
|
/linux-4.4.14/kernel/debug/kdb/ |
H A D | kdb_main.c | 2087 struct kmsg_dumper dumper = { .active = 1 }; kdb_dmesg() local 2112 kmsg_dump_rewind_nolock(&dumper); kdb_dmesg() 2113 while (kmsg_dump_get_line_nolock(&dumper, 1, NULL, 0, NULL)) kdb_dmesg() 2145 kmsg_dump_rewind_nolock(&dumper); kdb_dmesg() 2146 while (kmsg_dump_get_line_nolock(&dumper, 1, buf, sizeof(buf), &len)) { kdb_dmesg()
|
/linux-4.4.14/drivers/staging/lustre/lustre/ptlrpc/ |
H A D | layout.c | 810 #define DEFINE_MSGF(name, flags, size, swabber, dumper) { \ 815 .rmf_dumper = (void (*)(void *))(dumper) \
|
/linux-4.4.14/kernel/ |
H A D | exit.c | 411 self.next = xchg(&core_state->dumper.next, &self); exit_mm() 414 * to core_state->dumper. exit_mm()
|
/linux-4.4.14/arch/powerpc/xmon/ |
H A D | xmon.c | 2374 struct kmsg_dumper dumper = { .active = 1 }; dump_log_buf() local 2386 kmsg_dump_rewind_nolock(&dumper); dump_log_buf() 2388 while (kmsg_dump_get_line_nolock(&dumper, false, buf, sizeof(buf), &len)) { dump_log_buf()
|