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

From: Borislav Petkov
Date: Wed Jun 15 2016 - 17:13:00 EST


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!

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.