Re: [PATCH] binfmt_elf_fdpic: fix execfd build regression
From: Eric W. Biederman
Date: Wed May 27 2020 - 18:12:53 EST
Arnd Bergmann <arnd@xxxxxxxx> 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 <valdis.kletnieks@xxxxxx>
> Fixes: b8a61c9e7b4a ("exec: Generic execfd support")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> 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;