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

3 messages, 3 authors, 2020-03-06 · open the first message on its own page

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

From: Florian Weimer <hidden>
Date: 2020-03-06 08:39:21

* Laurent Vivier:
Le 06/03/2020 à 09:13, Florian Weimer a écrit :
quoted
* YunQiang Su:
quoted
+	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.

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

From: Laurent Vivier <hidden>
Date: 2020-03-06 11:14:03

Le 06/03/2020 à 09:37, Florian Weimer a écrit :
* Laurent Vivier:
quoted
Le 06/03/2020 à 09:13, Florian Weimer a écrit :
quoted
* YunQiang Su:
quoted
+	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?

Thanks,
Laurent

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

From: YunQiang Su <hidden>
Date: 2020-03-06 11:30:14

Laurent Vivier [off-list ref] 于2020年3月6日周五 下午7:13写道:
Le 06/03/2020 à 09:37, Florian Weimer a écrit :
quoted
* Laurent Vivier:
quoted
Le 06/03/2020 à 09:13, Florian Weimer a écrit :
quoted
* YunQiang Su:
quoted
+  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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help