Re: [PATCH] binfmt_misc: pass binfmt_misc P flag to the interpreter

From: YunQiang Su
Date: Fri Mar 06 2020 - 06:30:11 EST


Laurent Vivier <laurent@xxxxxxxxx> ä2020å3æ6æåä äå7:13åéï
>
> Le 06/03/2020 Ã 09:37, Florian Weimer a Ãcrit :
> > * Laurent Vivier:
> >
> >> Le 06/03/2020 Ã 09:13, Florian Weimer a Ãcrit :
> >>> * YunQiang Su:
> >>>
> >>>> + if (bprm->interp_flags & BINPRM_FLAGS_PRESERVE_ARGV0)
> >>>> + flags |= AT_FLAGS_PRESERVE_ARGV0;
> >>>> + NEW_AUX_ENT(AT_FLAGS, flags);
> >>>
> >>> Is it necessary to reuse AT_FLAGS? I think it's cleaner to define a
> >>> separate AT_ tag dedicated to binfmt_misc.
> >>
> >> Not necessary, but it seemed simpler and cleaner to re-use a flag that
> >> is marked as unused and with a name matching the new role. It avoids to
> >> patch other packages (like glibc) to add it as it is already defined.
> >
> > You still need to define AT_FLAGS_PRESERVE_ARGV0. At that point, you
> > might as well define AT_BINFMT and AT_BINFMT_PRESERVE_ARGV0.
> >
>
> Yes, you're right.
>
> But is there any reason to not reuse AT_FLAGS?

AT_* only has 32 slot and now. I was afraid that maybe we shouldn't take one.
/* AT_* values 18 through 22 are reserved */
27,28,29,30 are not used now.
Which should we use?

>
> Thanks,
> Laurent