The patch titled Subject: x86-mce-use-new-printk-recursion-disabling-interface-fix has been added to the -mm tree. Its filename is x86-mce-use-new-printk-recursion-disabling-interface-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: x86-mce-use-new-printk-recursion-disabling-interface-fix fix recursion_check_disabled leak, add comment Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: "Luck, Tony" <tony.luck@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: ShuoX Liu <shuox.liu@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxx> Cc: Yanmin Zhang <yanmin_zhang@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/x86/kernel/cpu/mcheck/mce.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff -puN arch/x86/kernel/cpu/mcheck/mce.c~x86-mce-use-new-printk-recursion-disabling-interface-fix arch/x86/kernel/cpu/mcheck/mce.c --- a/arch/x86/kernel/cpu/mcheck/mce.c~x86-mce-use-new-printk-recursion-disabling-interface-fix +++ a/arch/x86/kernel/cpu/mcheck/mce.c @@ -303,11 +303,10 @@ static void wait_for_panic(void) panic("Panicing machine check CPU died"); } -static void mce_panic(char *msg, struct mce *final, char *exp) +static void __mce_panic(char *msg, struct mce *final, char *exp) { int i, apei_err = 0; - printk_recursion_check_disable(); if (!fake_panic) { /* * Make sure only one CPU runs in machine check panic @@ -362,6 +361,17 @@ static void mce_panic(char *msg, struct panic(msg); } else pr_emerg(HW_ERR "Fake kernel panic: %s\n", msg); +} + +/* + * If an MCE happens to occur during the execution of a printk(), we want the + * MCE information to be displayed. But printk()'s recursion checking prevents + * that. So temporarily disable it. + */ +static void mce_panic(char *msg, struct mce *final, char *exp) +{ + printk_recursion_check_disable(); + __mce_panic(msg, final, exp); printk_recursion_check_enable(); } _ Subject: Subject: x86-mce-use-new-printk-recursion-disabling-interface-fix Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are origin.patch linux-next.patch i-need-old-gcc.patch arch-alpha-kernel-systblss-remove-debug-check.patch drivers-block-nvmec-stop-breaking-my-i386-build.patch memory-hotplug-fix-invalid-memory-access-caused-by-stale-kswapd-pointer-fix.patch drivers-gpio-devresc-export-devm_gpio_request_one-to-modules.patch fs-jbd2-commitc-use-new-kmap_atomic-api.patch rtc-ensure-correct-probing-of-the-ab8500-rtc-when-device-tree-is-enabled-checkpatch-fixes.patch arch-x86-platform-iris-irisc-register-a-platform-device-and-a-platform-driver.patch arch-x86-kernel-cpu-perf_event_intel_uncoreh-make-uncore_pmu_hrtimer_interval-64-bit.patch include-linux-timeh-make-nsec_per_sec-64-bit-on-32-bit-architectures.patch hfs-get-rid-of-hfs_sync_super-checkpatch-fixes.patch mm.patch mm-make-vb_alloc-more-foolproof-fix.patch mm-memblockc-memblock_double_array-cosmetic-cleanups.patch memcg-make-mem_cgroup_force_empty_list-return-bool-fix.patch memcg-prevent-oom-with-too-many-dirty-pages.patch mm-fadvise-dont-return-einval-when-filesystem-cannot-implement-fadvise-checkpatch-fixes.patch tmpfs-implement-numa-node-interleaving-fix.patch avr32-mm-faultc-port-oom-changes-to-do_page_fault-fix.patch nmi-watchdog-fix-for-lockup-detector-breakage-on-resume.patch kmsg-dev-kmsg-properly-return-possible-copy_from_user-failure.patch printk-add-generic-functions-to-find-kern_level-headers-fix.patch btrfs-use-printk_get_level-and-printk_skip_level-add-__printf-fix-fallout-fix.patch btrfs-use-printk_get_level-and-printk_skip_level-add-__printf-fix-fallout-checkpatch-fixes.patch lib-vsprintfc-remind-people-to-update-documentation-printk-formatstxt-when-adding-printk-formats.patch x86-mce-use-new-printk-recursion-disabling-interface-fix.patch string-introduce-memweight-fix.patch drivers-rtc-rtc-ab8500c-use-uie-emulation-checkpatch-fixes.patch drivers-rtc-rtc-r9701c-check-that-r9701_set_datetime-succeeded.patch fs-introduce-pipe-only-dump-mode-suid_dumpable=3-fix.patch hfsplus-get-rid-of-write_super-checkpatch-fixes.patch kmod-avoid-deadlock-from-recursive-kmod-call.patch fork-use-vma_pages-to-simplify-the-code-fix.patch fs-cachefiles-add-support-for-large-files-in-filesystem-caching-fix.patch notify_change-check-that-i_mutex-is-held.patch journal_add_journal_head-debug.patch mutex-subsystem-synchro-test-module-fix.patch slab-leaks3-default-y.patch put_bh-debug.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html