2019-05-02 14:20:59

by Michael Ellerman

[permalink] [raw]
Subject: [PATCH] EDAC, mpc85xx: Prevent building as a module

The mpc85xx EDAC code can be configured as a module but then fails to
build because it uses two unexported symbols:

ERROR: ".pci_find_hose_for_OF_device" [drivers/edac/mpc85xx_edac_mod.ko] undefined!
ERROR: ".early_find_capability" [drivers/edac/mpc85xx_edac_mod.ko] undefined!

We don't want to export those symbols just for this driver, so make
the driver only configurable as a built-in.

This seems to have been broken since at least commit c92132f59806
("edac/85xx: Add PCIe error interrupt edac support") (Nov 2013).

Signed-off-by: Michael Ellerman <[email protected]>
---
drivers/edac/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index 47eb4d13ed5f..6317519f9d88 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -263,7 +263,7 @@ config EDAC_PND2
micro-server but may appear on others in the future.

config EDAC_MPC85XX
- tristate "Freescale MPC83xx / MPC85xx"
+ bool "Freescale MPC83xx / MPC85xx"
depends on FSL_SOC
help
Support for error detection and correction on the Freescale
--
2.20.1


2019-05-06 06:53:03

by Johannes Thumshirn

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

Acked-by: Johannes Thumshirn <[email protected]>
--
Johannes Thumshirn SUSE Labs Filesystems
[email protected] +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg
GF: Felix Imend?rffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG N?rnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850

2019-05-08 12:39:59

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

On Mon, May 06, 2019 at 08:50:45AM +0200, Johannes Thumshirn wrote:
> Acked-by: Johannes Thumshirn <[email protected]>

Queued, thanks.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2019-05-09 14:54:32

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

Borislav Petkov <[email protected]> writes:
> On Mon, May 06, 2019 at 08:50:45AM +0200, Johannes Thumshirn wrote:
>> Acked-by: Johannes Thumshirn <[email protected]>
>
> Queued, thanks.

Thanks. It would be nice if you could send it as a fix for 5.2, it's the
last thing blocking one of my allmodconfig builds. But if you don't
think it qualifies as a fix that's fine too, it can wait.

cheers

2019-05-09 14:58:07

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

On Fri, May 10, 2019 at 12:52:05AM +1000, Michael Ellerman wrote:
> Thanks. It would be nice if you could send it as a fix for 5.2, it's the
> last thing blocking one of my allmodconfig builds. But if you don't
> think it qualifies as a fix that's fine too, it can wait.

Sure, no problem. Will do a pull request later.

Thx.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2019-05-09 18:04:22

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

On Thu, May 09, 2019 at 04:55:34PM +0200, Borislav Petkov wrote:
> On Fri, May 10, 2019 at 12:52:05AM +1000, Michael Ellerman wrote:
> > Thanks. It would be nice if you could send it as a fix for 5.2, it's the
> > last thing blocking one of my allmodconfig builds. But if you don't
> > think it qualifies as a fix that's fine too, it can wait.
>
> Sure, no problem. Will do a pull request later.

Hmm, so looking at this more, I was able to produce this config with my
ancient cross-compiler:

CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_MPC85XX=y

Now, mpc85xx_edac is built-in and edac_core.ko is a module
(CONFIG_EDAC=m) and that should not work - i.e., builtin code calling
module functions. But my cross-compiler is happily building this without
complaint. Or maybe I'm missing something.

In any case, I *think* the proper fix should be to do:

config EDAC_MPC85XX
bool "Freescale MPC83xx / MPC85xx"
depends on FSL_SOC && EDAC=y

so that you can't even produce the above invalid .config snippet.

Hmmm?

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2019-05-10 10:53:51

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

Borislav Petkov <[email protected]> writes:

> On Thu, May 09, 2019 at 04:55:34PM +0200, Borislav Petkov wrote:
>> On Fri, May 10, 2019 at 12:52:05AM +1000, Michael Ellerman wrote:
>> > Thanks. It would be nice if you could send it as a fix for 5.2, it's the
>> > last thing blocking one of my allmodconfig builds. But if you don't
>> > think it qualifies as a fix that's fine too, it can wait.
>>
>> Sure, no problem. Will do a pull request later.
>
> Hmm, so looking at this more, I was able to produce this config with my
> ancient cross-compiler:
>
> CONFIG_EDAC_SUPPORT=y
> CONFIG_EDAC=m
> CONFIG_EDAC_LEGACY_SYSFS=y
> CONFIG_EDAC_MPC85XX=y

Oh yeah good point.

> Now, mpc85xx_edac is built-in and edac_core.ko is a module
> (CONFIG_EDAC=m) and that should not work - i.e., builtin code calling
> module functions. But my cross-compiler is happily building this without
> complaint. Or maybe I'm missing something.

That's weird.

> In any case, I *think* the proper fix should be to do:
>
> config EDAC_MPC85XX
> bool "Freescale MPC83xx / MPC85xx"
> depends on FSL_SOC && EDAC=y
>
> so that you can't even produce the above invalid .config snippet.
>
> Hmmm?

Yeah that looks better to me. I didn't think about the case where EDAC
core is modular.

Do you want me to send a new patch?

cheers

2019-05-10 14:17:07

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

On Fri, May 10, 2019 at 08:50:52PM +1000, Michael Ellerman wrote:
> Yeah that looks better to me. I didn't think about the case where EDAC
> core is modular.
>
> Do you want me to send a new patch?

Nah, I'll fix it up.

Thx.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2019-05-10 18:28:43

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

On Fri, May 10, 2019 at 04:13:20PM +0200, Borislav Petkov wrote:
> On Fri, May 10, 2019 at 08:50:52PM +1000, Michael Ellerman wrote:
> > Yeah that looks better to me. I didn't think about the case where EDAC
> > core is modular.
> >
> > Do you want me to send a new patch?
>
> Nah, I'll fix it up.

I've pushed it here:

https://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git/commit/?h=edac-fix-for-5.2

in case you wanna throw your build tests on it. My dingy cross-compiler
can't do much really.

Thx.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2019-05-14 06:52:01

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

Borislav Petkov <[email protected]> writes:
> On Fri, May 10, 2019 at 04:13:20PM +0200, Borislav Petkov wrote:
>> On Fri, May 10, 2019 at 08:50:52PM +1000, Michael Ellerman wrote:
>> > Yeah that looks better to me. I didn't think about the case where EDAC
>> > core is modular.
>> >
>> > Do you want me to send a new patch?
>>
>> Nah, I'll fix it up.
>
> I've pushed it here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git/commit/?h=edac-fix-for-5.2
>
> in case you wanna throw your build tests on it. My dingy cross-compiler
> can't do much really.

Looks good. I even booted it :)

cheers

2019-05-14 08:32:50

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC, mpc85xx: Prevent building as a module

On Tue, May 14, 2019 at 04:50:49PM +1000, Michael Ellerman wrote:
> Looks good. I even booted it :)

Cool, thanks!

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.