From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751448AbdBMAiX (ORCPT ); Sun, 12 Feb 2017 19:38:23 -0500 Received: from mail.skyhub.de ([78.46.96.112]:55389 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751168AbdBMAiV (ORCPT ); Sun, 12 Feb 2017 19:38:21 -0500 Date: Mon, 13 Feb 2017 01:38:04 +0100 From: Borislav Petkov To: Gabriel C Cc: Thomas Gleixner , Linus Torvalds , Greg KH , Linux Kernel Mailing List , Andrew Morton , stable , lwn@lwn.net, Jiri Slaby , Ruslan Ruslichenko Subject: Re: Linux 4.9.6 ( Restore IO-APIC irq_chip retrigger callback , breaks my box ) Message-ID: <20170213003804.7gt2edclorjlx52p@pd.tnic> References: <1e88cc0e-4d34-a314-a44f-8324335b79e3@gmail.com> <73c6bd86-3ebb-c6db-b522-47a48b847227@gmail.com> <20170211142059.447eo6bgxycmp6kb@pd.tnic> <20170211213221.p6xs6c7qccz2w42r@pd.tnic> <0da9ef61-f3ee-13a8-2877-c235d710c50f@gmail.com> <20170212211228.iycyl76o4auxk2jy@pd.tnic> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20161014 (1.7.1) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Feb 12, 2017 at 11:21:13PM +0100, Gabriel C wrote: > http://ftp.frugalware.org/pub/other/people/crazy/kernel/t/crash_initcall_debug.mp4 > http://ftp.frugalware.org/pub/other/people/crazy/kernel/t/crash_intcall_debug_ucode_off.mp4 Thanks and interesting. In both cases, mcheck_init_device() doesn't return or we don't see the "initcall returned" message. Ok, let's try a silly sprinkling of printks in that function and try to pinpoint how far we manage to come. Apply, build, boot and shoot video again :-) Thanks. --- diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 8e9725c607ea..70268867cb33 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -2565,37 +2565,57 @@ static __init int mcheck_init_device(void) enum cpuhp_state hp_online; int err; + pr_err("%s: entry\n", __func__); + if (!mce_available(&boot_cpu_data)) { err = -EIO; goto err_out; } + pr_err("%s: mce_available\n", __func__); + if (!zalloc_cpumask_var(&mce_device_initialized, GFP_KERNEL)) { err = -ENOMEM; goto err_out; } + pr_err("%s: zalloc_cpumask_var\n", __func__); + mce_init_banks(); + pr_err("%s: mce_init_banks\n", __func__); + err = subsys_system_register(&mce_subsys, NULL); if (err) goto err_out_mem; + pr_err("%s: subsys_system_register\n", __func__); + err = cpuhp_setup_state(CPUHP_X86_MCE_DEAD, "x86/mce:dead", NULL, mce_cpu_dead); if (err) goto err_out_mem; + pr_err("%s: x86/mce:dead\n", __func__); + err = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "x86/mce:online", mce_cpu_online, mce_cpu_pre_down); if (err < 0) goto err_out_online; + + pr_err("%s: x86/mce:online\n", __func__); + hp_online = err; register_syscore_ops(&mce_syscore_ops); + pr_err("%s: register_syscore_ops\n", __func__); + /* register character device /dev/mcelog */ err = misc_register(&mce_chrdev_device); + + pr_err("%s: misc_register, err: 0x%x\n", __func__, err); + if (err) goto err_register; -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.