Commit cb6fd68f authored by Kees Cook's avatar Kees Cook Committed by Linus Torvalds

exec: clarify reasoning for euid/egid reset

This section of code initially looks redundant, but is required. This
improves the comment to explain more clearly why the reset is needed.
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Acked-by: default avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7f427d3a
...@@ -1387,7 +1387,12 @@ static void bprm_fill_uid(struct linux_binprm *bprm) ...@@ -1387,7 +1387,12 @@ static void bprm_fill_uid(struct linux_binprm *bprm)
kuid_t uid; kuid_t uid;
kgid_t gid; kgid_t gid;
/* clear any previous set[ug]id data from a previous binary */ /*
* Since this can be called multiple times (via prepare_binprm),
* we must clear any previous work done when setting set[ug]id
* bits from any earlier bprm->file uses (for example when run
* first for a setuid script then again for its interpreter).
*/
bprm->cred->euid = current_euid(); bprm->cred->euid = current_euid();
bprm->cred->egid = current_egid(); bprm->cred->egid = current_egid();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment