2021-10-06 15:01:42

by Lukas Bulwahn

[permalink] [raw]
Subject: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

Commit 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
introduces the config symbol GENERIC_LIB_DEVMEM_IS_ALLOWED, but then
falsely refers to CONFIG_GENERIC_DEVMEM_IS_ALLOWED (note the missing LIB
in the reference) in ./include/asm-generic/io.h.

Luckily, ./scripts/checkkconfigsymbols.py warns on non-existing configs:

GENERIC_DEVMEM_IS_ALLOWED
Referencing files: include/asm-generic/io.h

Correct the name of the config to the intended one.

Fixes: 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
Signed-off-by: Lukas Bulwahn <[email protected]>
---
include/asm-generic/io.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h
index cc7338f9e0d1..6364174504d7 100644
--- a/include/asm-generic/io.h
+++ b/include/asm-generic/io.h
@@ -1125,7 +1125,7 @@ static inline void memcpy_toio(volatile void __iomem *addr, const void *buffer,
}
#endif

-#ifndef CONFIG_GENERIC_DEVMEM_IS_ALLOWED
+#ifndef CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED
extern int devmem_is_allowed(unsigned long pfn);
#endif

--
2.26.2


2021-10-06 15:20:21

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Wed, Oct 6, 2021 at 5:00 PM Lukas Bulwahn <[email protected]> wrote:
>
> Commit 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> introduces the config symbol GENERIC_LIB_DEVMEM_IS_ALLOWED, but then
> falsely refers to CONFIG_GENERIC_DEVMEM_IS_ALLOWED (note the missing LIB
> in the reference) in ./include/asm-generic/io.h.
>
> Luckily, ./scripts/checkkconfigsymbols.py warns on non-existing configs:
>
> GENERIC_DEVMEM_IS_ALLOWED
> Referencing files: include/asm-generic/io.h
>
> Correct the name of the config to the intended one.
>
> Fixes: 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> Signed-off-by: Lukas Bulwahn <[email protected]>

Acked-by: Arnd Bergmann <[email protected]>

2021-10-06 16:58:21

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Wed, 06 Oct 2021 08:17:38 PDT (-0700), Arnd Bergmann wrote:
> On Wed, Oct 6, 2021 at 5:00 PM Lukas Bulwahn <[email protected]> wrote:
>>
>> Commit 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
>> introduces the config symbol GENERIC_LIB_DEVMEM_IS_ALLOWED, but then
>> falsely refers to CONFIG_GENERIC_DEVMEM_IS_ALLOWED (note the missing LIB
>> in the reference) in ./include/asm-generic/io.h.
>>
>> Luckily, ./scripts/checkkconfigsymbols.py warns on non-existing configs:
>>
>> GENERIC_DEVMEM_IS_ALLOWED
>> Referencing files: include/asm-generic/io.h
>>
>> Correct the name of the config to the intended one.
>>
>> Fixes: 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
>> Signed-off-by: Lukas Bulwahn <[email protected]>
>
> Acked-by: Arnd Bergmann <[email protected]>

Reviewed-by: Palmer Dabbelt <[email protected]>
Acked-by: Palmer Dabbelt <[email protected]>

Thanks. I'm going to assume this is going in through some other tree,
but IIUC I sent the buggy patch up so LMK if you're expecting it to go
through mine.

2022-07-07 11:52:36

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Wed, Oct 6, 2021 at 6:52 PM Palmer Dabbelt <[email protected]> wrote:
>
> On Wed, 06 Oct 2021 08:17:38 PDT (-0700), Arnd Bergmann wrote:
> > On Wed, Oct 6, 2021 at 5:00 PM Lukas Bulwahn <[email protected]> wrote:
> >>
> >> Commit 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> >> introduces the config symbol GENERIC_LIB_DEVMEM_IS_ALLOWED, but then
> >> falsely refers to CONFIG_GENERIC_DEVMEM_IS_ALLOWED (note the missing LIB
> >> in the reference) in ./include/asm-generic/io.h.
> >>
> >> Luckily, ./scripts/checkkconfigsymbols.py warns on non-existing configs:
> >>
> >> GENERIC_DEVMEM_IS_ALLOWED
> >> Referencing files: include/asm-generic/io.h
> >>
> >> Correct the name of the config to the intended one.
> >>
> >> Fixes: 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> >> Signed-off-by: Lukas Bulwahn <[email protected]>
> >
> > Acked-by: Arnd Bergmann <[email protected]>
>
> Reviewed-by: Palmer Dabbelt <[email protected]>
> Acked-by: Palmer Dabbelt <[email protected]>
>
> Thanks. I'm going to assume this is going in through some other tree,
> but IIUC I sent the buggy patch up so LMK if you're expecting it to go
> through mine.

Palmer, Arnd,

the patch in this mail thread got lost and was not picked up yet.

MAINTAINERS suggests that Arnd takes patches to include/asm-generic/,
since commit 1527aab617af ("asm-generic: list Arnd as asm-generic
maintainer") in 2009, but maybe the responsibility for those files has
actually moved on to somebody (or nobody) else and we just did not
record that yet in MAINTAINERS.

Arnd, will you pick this patch and provide it further to Linus Torvalds?

Otherwise, Palmer already suggested picking it up himself.

Thanks and best regards,

Lukas

2022-07-07 12:18:17

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Thu, Jul 7, 2022 at 1:40 PM Lukas Bulwahn <[email protected]> wrote:
>
> On Wed, Oct 6, 2021 at 6:52 PM Palmer Dabbelt <[email protected]> wrote:
> >
> > On Wed, 06 Oct 2021 08:17:38 PDT (-0700), Arnd Bergmann wrote:
> > > On Wed, Oct 6, 2021 at 5:00 PM Lukas Bulwahn <[email protected]> wrote:
> > >>
> > >> Commit 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> > >> introduces the config symbol GENERIC_LIB_DEVMEM_IS_ALLOWED, but then
> > >> falsely refers to CONFIG_GENERIC_DEVMEM_IS_ALLOWED (note the missing LIB
> > >> in the reference) in ./include/asm-generic/io.h.
> > >>
> > >> Luckily, ./scripts/checkkconfigsymbols.py warns on non-existing configs:
> > >>
> > >> GENERIC_DEVMEM_IS_ALLOWED
> > >> Referencing files: include/asm-generic/io.h
> > >>
> > >> Correct the name of the config to the intended one.
> > >>
> > >> Fixes: 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> > >> Signed-off-by: Lukas Bulwahn <[email protected]>
> > >
> > > Acked-by: Arnd Bergmann <[email protected]>
> >
> > Reviewed-by: Palmer Dabbelt <[email protected]>
> > Acked-by: Palmer Dabbelt <[email protected]>
> >
> > Thanks. I'm going to assume this is going in through some other tree,
> > but IIUC I sent the buggy patch up so LMK if you're expecting it to go
> > through mine.
>
> Palmer, Arnd,
>
> the patch in this mail thread got lost and was not picked up yet.
>
> MAINTAINERS suggests that Arnd takes patches to include/asm-generic/,
> since commit 1527aab617af ("asm-generic: list Arnd as asm-generic
> maintainer") in 2009, but maybe the responsibility for those files has
> actually moved on to somebody (or nobody) else and we just did not
> record that yet in MAINTAINERS.
>
> Arnd, will you pick this patch and provide it further to Linus Torvalds?
>
> Otherwise, Palmer already suggested picking it up himself.
>

I've applied it to the asm-generic tree and can send it as a bugfix
pull request. I don't have any other fixer for that branch at the moment,
so if Palmer has other fixes for the riscv tree already, it would
save me making a pull request if he picks it up there.

Arnd

2022-07-07 13:21:09

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Thu, Jul 7, 2022 at 2:20 PM <[email protected]> wrote:
> On 07/07/2022 13:13, Arnd Bergmann wrote:
> > On Thu, Jul 7, 2022 at 1:40 PM Lukas Bulwahn <[email protected]> wrote:
> >>
> >> On Wed, Oct 6, 2021 at 6:52 PM Palmer Dabbelt <[email protected]> wrote:
> >>>
> >>> On Wed, 06 Oct 2021 08:17:38 PDT (-0700), Arnd Bergmann wrote:
> >>>> On Wed, Oct 6, 2021 at 5:00 PM Lukas Bulwahn <[email protected]> wrote:
> >>>>>
> >>>>> Commit 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> >>>>> introduces the config symbol GENERIC_LIB_DEVMEM_IS_ALLOWED, but then
> >>>>> falsely refers to CONFIG_GENERIC_DEVMEM_IS_ALLOWED (note the missing LIB
> >>>>> in the reference) in ./include/asm-generic/io.h.
> >>>>>
> >>>>> Luckily, ./scripts/checkkconfigsymbols.py warns on non-existing configs:
> >>>>>
> >>>>> GENERIC_DEVMEM_IS_ALLOWED
> >>>>> Referencing files: include/asm-generic/io.h
> >>>>>
> >>>>> Correct the name of the config to the intended one.
> >>>>>
> >>>>> Fixes: 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> >>>>> Signed-off-by: Lukas Bulwahn <[email protected]>
> >>>>
> >>>> Acked-by: Arnd Bergmann <[email protected]>
> >>>
> >>> Reviewed-by: Palmer Dabbelt <[email protected]>
> >>> Acked-by: Palmer Dabbelt <[email protected]>
> >>>
> >>> Thanks. I'm going to assume this is going in through some other tree,
> >>> but IIUC I sent the buggy patch up so LMK if you're expecting it to go
> >>> through mine.
> >>
> >> Palmer, Arnd,
> >>
> >> the patch in this mail thread got lost and was not picked up yet.
> >>
> >> MAINTAINERS suggests that Arnd takes patches to include/asm-generic/,
> >> since commit 1527aab617af ("asm-generic: list Arnd as asm-generic
> >> maintainer") in 2009, but maybe the responsibility for those files has
> >> actually moved on to somebody (or nobody) else and we just did not
> >> record that yet in MAINTAINERS.
> >>
> >> Arnd, will you pick this patch and provide it further to Linus Torvalds?
> >>
> >> Otherwise, Palmer already suggested picking it up himself.
> >>
> >
> > I've applied it to the asm-generic tree and can send it as a bugfix
> > pull request. I don't have any other fixer for that branch at the moment,
> > so if Palmer has other fixes for the riscv tree already, it would
> > save me making a pull request if he picks it up there.

lkft just found a build failure:

https://gitlab.com/Linaro/lkft/users/arnd.bergmann/asm-generic/-/jobs/2691154818

I have not investigated what went wrong, but it does look like an actual
regression, so I'll wait for Lukas to follow up with a new version of the patch.

Arnd

2022-07-07 15:31:41

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Thu, Jul 7, 2022 at 3:07 PM Arnd Bergmann <[email protected]> wrote:
>
> On Thu, Jul 7, 2022 at 2:20 PM <[email protected]> wrote:
> > On 07/07/2022 13:13, Arnd Bergmann wrote:
> > > On Thu, Jul 7, 2022 at 1:40 PM Lukas Bulwahn <[email protected]> wrote:
> > >>
> > >> On Wed, Oct 6, 2021 at 6:52 PM Palmer Dabbelt <[email protected]> wrote:
> > >>>
> > >>> On Wed, 06 Oct 2021 08:17:38 PDT (-0700), Arnd Bergmann wrote:
> > >>>> On Wed, Oct 6, 2021 at 5:00 PM Lukas Bulwahn <[email protected]> wrote:
> > >>>>>
> > >>>>> Commit 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> > >>>>> introduces the config symbol GENERIC_LIB_DEVMEM_IS_ALLOWED, but then
> > >>>>> falsely refers to CONFIG_GENERIC_DEVMEM_IS_ALLOWED (note the missing LIB
> > >>>>> in the reference) in ./include/asm-generic/io.h.
> > >>>>>
> > >>>>> Luckily, ./scripts/checkkconfigsymbols.py warns on non-existing configs:
> > >>>>>
> > >>>>> GENERIC_DEVMEM_IS_ALLOWED
> > >>>>> Referencing files: include/asm-generic/io.h
> > >>>>>
> > >>>>> Correct the name of the config to the intended one.
> > >>>>>
> > >>>>> Fixes: 527701eda5f1 ("lib: Add a generic version of devmem_is_allowed()")
> > >>>>> Signed-off-by: Lukas Bulwahn <[email protected]>
> > >>>>
> > >>>> Acked-by: Arnd Bergmann <[email protected]>
> > >>>
> > >>> Reviewed-by: Palmer Dabbelt <[email protected]>
> > >>> Acked-by: Palmer Dabbelt <[email protected]>
> > >>>
> > >>> Thanks. I'm going to assume this is going in through some other tree,
> > >>> but IIUC I sent the buggy patch up so LMK if you're expecting it to go
> > >>> through mine.
> > >>
> > >> Palmer, Arnd,
> > >>
> > >> the patch in this mail thread got lost and was not picked up yet.
> > >>
> > >> MAINTAINERS suggests that Arnd takes patches to include/asm-generic/,
> > >> since commit 1527aab617af ("asm-generic: list Arnd as asm-generic
> > >> maintainer") in 2009, but maybe the responsibility for those files has
> > >> actually moved on to somebody (or nobody) else and we just did not
> > >> record that yet in MAINTAINERS.
> > >>
> > >> Arnd, will you pick this patch and provide it further to Linus Torvalds?
> > >>
> > >> Otherwise, Palmer already suggested picking it up himself.
> > >>
> > >
> > > I've applied it to the asm-generic tree and can send it as a bugfix
> > > pull request. I don't have any other fixer for that branch at the moment,
> > > so if Palmer has other fixes for the riscv tree already, it would
> > > save me making a pull request if he picks it up there.
>
> lkft just found a build failure:
>
> https://gitlab.com/Linaro/lkft/users/arnd.bergmann/asm-generic/-/jobs/2691154818
>
> I have not investigated what went wrong, but it does look like an actual
> regression, so I'll wait for Lukas to follow up with a new version of the patch.

Thanks for your testing. I will look into it. Probably it is due to
some more rigor during builds (-Werror and new warning types in the
default build) since I proposed the patch in October 2021. That should
be easy to fix, but let us see. I will send a PATCH v2 soon.

Lukas

2022-07-20 11:11:14

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Thu, Jul 7, 2022 at 4:41 PM Lukas Bulwahn <[email protected]> wrote:
> On Thu, Jul 7, 2022 at 3:07 PM Arnd Bergmann <[email protected]> wrote:
> > On Thu, Jul 7, 2022 at 2:20 PM <[email protected]> wrote:

> > lkft just found a build failure:
> >
> > https://gitlab.com/Linaro/lkft/users/arnd.bergmann/asm-generic/-/jobs/2691154818
> >
> > I have not investigated what went wrong, but it does look like an actual
> > regression, so I'll wait for Lukas to follow up with a new version of the patch.
>
> Thanks for your testing. I will look into it. Probably it is due to
> some more rigor during builds (-Werror and new warning types in the
> default build) since I proposed the patch in October 2021. That should
> be easy to fix, but let us see. I will send a PATCH v2 soon.

Any update on this? I have another bugfix for asm-generic now and was planning
to send a pull request with both. If you don't have the updated patch
ready yet, this
will have to go into 5.21 instead.

Arnd

2022-07-21 07:55:17

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Wed, Jul 20, 2022 at 12:50 PM Arnd Bergmann <[email protected]> wrote:
>
> On Thu, Jul 7, 2022 at 4:41 PM Lukas Bulwahn <[email protected]> wrote:
> > On Thu, Jul 7, 2022 at 3:07 PM Arnd Bergmann <[email protected]> wrote:
> > > On Thu, Jul 7, 2022 at 2:20 PM <[email protected]> wrote:
>
> > > lkft just found a build failure:
> > >
> > > https://gitlab.com/Linaro/lkft/users/arnd.bergmann/asm-generic/-/jobs/2691154818
> > >
> > > I have not investigated what went wrong, but it does look like an actual
> > > regression, so I'll wait for Lukas to follow up with a new version of the patch.
> >
> > Thanks for your testing. I will look into it. Probably it is due to
> > some more rigor during builds (-Werror and new warning types in the
> > default build) since I proposed the patch in October 2021. That should
> > be easy to fix, but let us see. I will send a PATCH v2 soon.
>
> Any update on this? I have another bugfix for asm-generic now and was planning
> to send a pull request with both. If you don't have the updated patch
> ready yet, this
> will have to go into 5.21 instead.
>

It is still on my TODO list for revisiting, but I had other work on
patches taking me longer than originally expected. I now moved this
patch revisiting to the top of my TODO list; so, I will certainly look
into this today. So far, I have not set up an arm64 build on my local
machine and have not used tuxbuild (which should simplify all this
setup)---the typical challenges for a "part-time kernel
contributor/janitor"...

Arnd, I will certainly let you know by this evening (European time
zone) how far I got. If that is already too late, it is also perfectly
fine if this goes in 5.21 instead, but I will try my best to make it
5.20 material.

Thanks for the patience so far.


Best regards,

Lukas

> Arnd

2022-07-21 20:44:30

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH] asm-generic: correct reference to GENERIC_LIB_DEVMEM_IS_ALLOWED

On Thu, Jul 21, 2022 at 8:52 AM Lukas Bulwahn <[email protected]> wrote:
>
> On Wed, Jul 20, 2022 at 12:50 PM Arnd Bergmann <[email protected]> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:41 PM Lukas Bulwahn <[email protected]> wrote:
> > > On Thu, Jul 7, 2022 at 3:07 PM Arnd Bergmann <[email protected]> wrote:
> > > > On Thu, Jul 7, 2022 at 2:20 PM <[email protected]> wrote:
> >
> > > > lkft just found a build failure:
> > > >
> > > > https://gitlab.com/Linaro/lkft/users/arnd.bergmann/asm-generic/-/jobs/2691154818
> > > >
> > > > I have not investigated what went wrong, but it does look like an actual
> > > > regression, so I'll wait for Lukas to follow up with a new version of the patch.
> > >
> > > Thanks for your testing. I will look into it. Probably it is due to
> > > some more rigor during builds (-Werror and new warning types in the
> > > default build) since I proposed the patch in October 2021. That should
> > > be easy to fix, but let us see. I will send a PATCH v2 soon.
> >
> > Any update on this? I have another bugfix for asm-generic now and was planning
> > to send a pull request with both. If you don't have the updated patch
> > ready yet, this
> > will have to go into 5.21 instead.
> >
>
> It is still on my TODO list for revisiting, but I had other work on
> patches taking me longer than originally expected. I now moved this
> patch revisiting to the top of my TODO list; so, I will certainly look
> into this today. So far, I have not set up an arm64 build on my local
> machine and have not used tuxbuild (which should simplify all this
> setup)---the typical challenges for a "part-time kernel
> contributor/janitor"...
>
> Arnd, I will certainly let you know by this evening (European time
> zone) how far I got. If that is already too late, it is also perfectly
> fine if this goes in 5.21 instead, but I will try my best to make it
> 5.20 material.
>

Arnd, I can reproduce the error from your build system.

I think I have an idea what the correct patch would actually be:

- either make the function declaration completely unconditional,
- or put the function declaration under #ifdef and not #ifndef.

I guess the first should actually lead to some compiler warning (at
W=2 or so) having a function declared multiple times, for some
architectures. And hence, the second option is a better one. This is
all educated guessing so far, so to confirm, I need to build the
kernel with W=2 on the defconfig all architectures before and after
patch application and see if I am right. This is going to take some
build time on my local (home) machine. So, I hope that I can spend
some time tomorrow on just kicking off builds and looking at diffs and
then send out a working patch v2.

Lukas