Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1423487

Re: lk 4.7 regression: EDAC, amd64_edac: Drop pci_register_driver() use

From Tony Battersby <tonyb@cybernetics.com>
Newsgroups linux.kernel
Subject Re: lk 4.7 regression: EDAC, amd64_edac: Drop pci_register_driver() use
Date 2016-06-15 23:50 +0200
Message-ID <rKqRc-7Wk-33@gated-at.bofh.it> (permalink)
References <rKq4N-7mg-7@gated-at.bofh.it> <rKqoa-7Kt-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 06/15/2016 05:12 PM, Borislav Petkov wrote:
> On Wed, Jun 15, 2016 at 04:46:40PM -0400, Tony Battersby wrote:
>> The following commit is causing an oops:
>>
>> 3f37a36b6282 ("EDAC, amd64_edac: Drop pci_register_driver() use")
>>
>> The oops happens when I "modprobe amd64_edac_mod" on an Intel
>> Xeon-based system, or when booting the same system with amd64_edac
>> built-in.  Obviously the module is not meant for this hardware, but it
>> tries to load anyway and then oopses.
> Hmm, that shouldn't happen. AFAICT, amd_cache_northbridges() doesn't
> prevent us from loading as it should.
>
> Can you send me your .config please? Privately is fine too.
>
> It is late here so I can only think of this totally untested fix right
> now:
>
> ---
> diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c
> index a147e676fc7b..b913c6173c1b 100644
> --- a/arch/x86/kernel/amd_nb.c
> +++ b/arch/x86/kernel/amd_nb.c
> @@ -72,7 +72,7 @@ int amd_cache_northbridges(void)
>  		i++;
>  
>  	if (i == 0)
> -		return 0;
> +		return -1;
>  
>  	nb = kzalloc(i * sizeof(struct amd_northbridge), GFP_KERNEL);
>  	if (!nb)
> ---
>
> More staring tomorrow.
>
> Thanks!
>

With that patch applied, modprobe amd64_edac_mod correctly reports "No
such device" and everything is fine.  I also get a new line in dmesg on
boot:

amd_nb: Cannot enumerate AMD northbridges

You might want to consider using -ENODEV instead of -1 for callers such
as init_amd_nbs() that use the error value.

Tony

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

lk 4.7 regression: EDAC, amd64_edac: Drop pci_register_driver() use Tony Battersby <tonyb@cybernetics.com> - 2016-06-15 23:00 +0200
  Re: lk 4.7 regression: EDAC, amd64_edac: Drop pci_register_driver()  use Borislav Petkov <bp@alien8.de> - 2016-06-15 23:20 +0200
    Re: lk 4.7 regression: EDAC, amd64_edac: Drop pci_register_driver()  use Tony Battersby <tonyb@cybernetics.com> - 2016-06-15 23:50 +0200
      Re: lk 4.7 regression: EDAC, amd64_edac: Drop pci_register_driver()  use Tony Battersby <tonyb@cybernetics.com> - 2016-06-16 00:00 +0200
      Re: lk 4.7 regression: EDAC, amd64_edac: Drop pci_register_driver()  use Borislav Petkov <bp@alien8.de> - 2016-06-16 00:00 +0200

csiph-web