Loading include/asm-generic/bug.h +3 −4 Original line number Diff line number Diff line Loading @@ -33,12 +33,11 @@ struct bug_entry { #ifndef __WARN #ifndef __ASSEMBLY__ extern void warn_on_slowpath(const char *file, const int line); extern void warn_slowpath(const char *file, const int line, const char *fmt, ...) __attribute__((format(printf, 3, 4))); #define WANT_WARN_ON_SLOWPATH #endif #define __WARN() warn_on_slowpath(__FILE__, __LINE__) #define __WARN() warn_slowpath(__FILE__, __LINE__, NULL) #define __WARN_printf(arg...) warn_slowpath(__FILE__, __LINE__, arg) #else #define __WARN_printf(arg...) do { printk(arg); __WARN(); } while (0) Loading kernel/panic.c +12 −20 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <linux/debug_locks.h> #include <linux/random.h> #include <linux/kallsyms.h> #include <linux/dmi.h> int panic_on_oops; static unsigned long tainted_mask; Loading Loading @@ -321,36 +322,27 @@ void oops_exit(void) } #ifdef WANT_WARN_ON_SLOWPATH void warn_on_slowpath(const char *file, int line) { char function[KSYM_SYMBOL_LEN]; unsigned long caller = (unsigned long) __builtin_return_address(0); sprint_symbol(function, caller); printk(KERN_WARNING "------------[ cut here ]------------\n"); printk(KERN_WARNING "WARNING: at %s:%d %s()\n", file, line, function); print_modules(); dump_stack(); print_oops_end_marker(); add_taint(TAINT_WARN); } EXPORT_SYMBOL(warn_on_slowpath); void warn_slowpath(const char *file, int line, const char *fmt, ...) { va_list args; char function[KSYM_SYMBOL_LEN]; unsigned long caller = (unsigned long)__builtin_return_address(0); const char *board; sprint_symbol(function, caller); printk(KERN_WARNING "------------[ cut here ]------------\n"); printk(KERN_WARNING "WARNING: at %s:%d %s()\n", file, line, function); board = dmi_get_system_info(DMI_PRODUCT_NAME); if (board) printk(KERN_WARNING "Hardware name: %s\n", board); if (fmt) { va_start(args, fmt); vprintk(fmt, args); va_end(args); } print_modules(); dump_stack(); Loading Loading
include/asm-generic/bug.h +3 −4 Original line number Diff line number Diff line Loading @@ -33,12 +33,11 @@ struct bug_entry { #ifndef __WARN #ifndef __ASSEMBLY__ extern void warn_on_slowpath(const char *file, const int line); extern void warn_slowpath(const char *file, const int line, const char *fmt, ...) __attribute__((format(printf, 3, 4))); #define WANT_WARN_ON_SLOWPATH #endif #define __WARN() warn_on_slowpath(__FILE__, __LINE__) #define __WARN() warn_slowpath(__FILE__, __LINE__, NULL) #define __WARN_printf(arg...) warn_slowpath(__FILE__, __LINE__, arg) #else #define __WARN_printf(arg...) do { printk(arg); __WARN(); } while (0) Loading
kernel/panic.c +12 −20 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <linux/debug_locks.h> #include <linux/random.h> #include <linux/kallsyms.h> #include <linux/dmi.h> int panic_on_oops; static unsigned long tainted_mask; Loading Loading @@ -321,36 +322,27 @@ void oops_exit(void) } #ifdef WANT_WARN_ON_SLOWPATH void warn_on_slowpath(const char *file, int line) { char function[KSYM_SYMBOL_LEN]; unsigned long caller = (unsigned long) __builtin_return_address(0); sprint_symbol(function, caller); printk(KERN_WARNING "------------[ cut here ]------------\n"); printk(KERN_WARNING "WARNING: at %s:%d %s()\n", file, line, function); print_modules(); dump_stack(); print_oops_end_marker(); add_taint(TAINT_WARN); } EXPORT_SYMBOL(warn_on_slowpath); void warn_slowpath(const char *file, int line, const char *fmt, ...) { va_list args; char function[KSYM_SYMBOL_LEN]; unsigned long caller = (unsigned long)__builtin_return_address(0); const char *board; sprint_symbol(function, caller); printk(KERN_WARNING "------------[ cut here ]------------\n"); printk(KERN_WARNING "WARNING: at %s:%d %s()\n", file, line, function); board = dmi_get_system_info(DMI_PRODUCT_NAME); if (board) printk(KERN_WARNING "Hardware name: %s\n", board); if (fmt) { va_start(args, fmt); vprintk(fmt, args); va_end(args); } print_modules(); dump_stack(); Loading