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
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;
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
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! :)