2020-05-27 17:42:46

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] binfmt_elf_fdpic: fix execfd build regression

The change to bprm->have_execfd was incomplete, leading
to a build failure:

fs/binfmt_elf_fdpic.c: In function 'create_elf_fdpic_tables':
fs/binfmt_elf_fdpic.c:591:27: error: 'BINPRM_FLAGS_EXECFD' undeclared

Change the last user of BINPRM_FLAGS_EXECFD in a corresponding
way.

Reported-by: Valdis Klētnieks <[email protected]>
Fixes: b8a61c9e7b4a ("exec: Generic execfd support")
Signed-off-by: Arnd Bergmann <[email protected]>
---
I have no idea whether this is right, I only looked briefly at
the commit that introduced the problem.
---
fs/binfmt_elf_fdpic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index bba3ad555b94..aaf332d32326 100644
--- a/fs/binfmt_elf_fdpic.c
+++ b/fs/binfmt_elf_fdpic.c
@@ -588,7 +588,7 @@ static int create_elf_fdpic_tables(struct linux_binprm *bprm,
nitems = 1 + DLINFO_ITEMS + (k_platform ? 1 : 0) +
(k_base_platform ? 1 : 0) + AT_VECTOR_SIZE_ARCH;

- if (bprm->interp_flags & BINPRM_FLAGS_EXECFD)
+ if (bprm->have_execfd)
nitems++;

csp = sp;
--
2.26.2


2020-05-27 22:15:08

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH] binfmt_elf_fdpic: fix execfd build regression

Arnd Bergmann <[email protected]> writes:

> The change to bprm->have_execfd was incomplete, leading
> to a build failure:
>
> fs/binfmt_elf_fdpic.c: In function 'create_elf_fdpic_tables':
> fs/binfmt_elf_fdpic.c:591:27: error: 'BINPRM_FLAGS_EXECFD' undeclared
>
> Change the last user of BINPRM_FLAGS_EXECFD in a corresponding
> way.
>
> Reported-by: Valdis Klētnieks <[email protected]>
> Fixes: b8a61c9e7b4a ("exec: Generic execfd support")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> I have no idea whether this is right, I only looked briefly at
> the commit that introduced the problem.

It is correct and my fault.

Is there an easy to build-test configuration that includes
binfmt_elf_fdpic?

I have this sense that it might be smart to unify binfmt_elf
and binftm_elf_fdpic to the extent possible, and that will take build
tests.

Eric



> ---
> fs/binfmt_elf_fdpic.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
> index bba3ad555b94..aaf332d32326 100644
> --- a/fs/binfmt_elf_fdpic.c
> +++ b/fs/binfmt_elf_fdpic.c
> @@ -588,7 +588,7 @@ static int create_elf_fdpic_tables(struct linux_binprm *bprm,
> nitems = 1 + DLINFO_ITEMS + (k_platform ? 1 : 0) +
> (k_base_platform ? 1 : 0) + AT_VECTOR_SIZE_ARCH;
>
> - if (bprm->interp_flags & BINPRM_FLAGS_EXECFD)
> + if (bprm->have_execfd)
> nitems++;
>
> csp = sp;

2020-05-27 22:32:57

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] binfmt_elf_fdpic: fix execfd build regression

On Thu, May 28, 2020 at 12:12 AM Eric W. Biederman
<[email protected]> wrote:
>
> Arnd Bergmann <[email protected]> writes:
>
> > The change to bprm->have_execfd was incomplete, leading
> > to a build failure:
> >
> > fs/binfmt_elf_fdpic.c: In function 'create_elf_fdpic_tables':
> > fs/binfmt_elf_fdpic.c:591:27: error: 'BINPRM_FLAGS_EXECFD' undeclared
> >
> > Change the last user of BINPRM_FLAGS_EXECFD in a corresponding
> > way.
> >
> > Reported-by: Valdis Klētnieks <[email protected]>
> > Fixes: b8a61c9e7b4a ("exec: Generic execfd support")
> > Signed-off-by: Arnd Bergmann <[email protected]>
> > ---
> > I have no idea whether this is right, I only looked briefly at
> > the commit that introduced the problem.
>
> It is correct and my fault.
>
> Is there an easy to build-test configuration that includes
> binfmt_elf_fdpic?
>
> I have this sense that it might be smart to unify binfmt_elf
> and binftm_elf_fdpic to the extent possible, and that will take build
> tests.

It should be included in an ARM allmodconfig. Nicolas Pitr did the
work to support ELF_FDPIC on ARM with MMU a while ago, but
I'm not sure what it would take to make this architecture independent
or support build-testing on x86.

Arnd

2020-05-27 22:41:14

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: [PATCH] binfmt_elf_fdpic: fix execfd build regression

On Wed, 27 May 2020 17:08:57 -0500, Eric W. Biederman said:

> Is there an easy to build-test configuration that includes
> binfmt_elf_fdpic?

I tripped over it with a 'make ARM=arch allmodconfig', but any
config that includes CONFIG_BINFMT_ELF_FDPIC should suffice.
I haven't checked the 'depends' for that variable though...

> I have this sense that it might be smart to unify binfmt_elf
> and binftm_elf_fdpic to the extent possible, and that will take build
> tests.

Bring it on! :)


Attachments:
(No filename) (849.00 B)