Kees Cook <keescook@xxxxxxxxxxxx> writes: > On Mon, May 18, 2020 at 07:29:00PM -0500, Eric W. Biederman wrote: >> arch/alpha/kernel/binfmt_loader.c | 11 +---- >> fs/binfmt_elf.c | 4 +- >> fs/binfmt_elf_fdpic.c | 4 +- >> fs/binfmt_em86.c | 13 +---- >> fs/binfmt_misc.c | 69 ++++----------------------- >> fs/binfmt_script.c | 82 ++++++++++++++------------------ >> fs/exec.c | 97 ++++++++++++++++++++++++++------------ >> include/linux/binfmts.h | 36 ++++++-------- >> include/linux/lsm_hook_defs.h | 3 +- >> include/linux/lsm_hooks.h | 52 +++++++++++--------- >> include/linux/security.h | 14 ++++-- >> kernel/cred.c | 3 ++ >> security/apparmor/domain.c | 7 +-- >> security/apparmor/include/domain.h | 2 +- >> security/apparmor/lsm.c | 2 +- >> security/commoncap.c | 9 ++-- >> security/security.c | 9 +++- >> security/selinux/hooks.c | 8 ++-- >> security/smack/smack_lsm.c | 9 ++-- >> security/tomoyo/tomoyo.c | 12 ++--- >> 20 files changed, 202 insertions(+), 244 deletions(-) > > Oh, BTW, heads up on this (trivially but annoyingly) conflicting with > the copy_strings_kernel/copy_string/kernel change: > > https://ozlabs.org/~akpm/mmotm/broken-out/exec-simplify-the-copy_strings_kernel-calling-convention.patch > > Is it worth pulling that and these into your tree? > > https://ozlabs.org/~akpm/mmotm/broken-out/exec-open-code-copy_string_kernel.patch > > https://ozlabs.org/~akpm/mmotm/broken-out/umh-fix-refcount-underflow-in-fork_usermode_blob.patch Good question. It is part of the greater set_fs removal work, and I don't want to mess that up. I would love to give copy_string_kernel a length parameter so binfmt_script did not have to modify it's buffer or copy the string, before calling copy_string_kernel. Hmm. I already have to call strdup on i_name in brpm_change_interp. So I probably just want to bite the bullet and figure out a way to do strdup earlier. So unless it makes things easier for Andrew I think it is probably easier to live with the conflict for now, and use this conversation as inspiration for my next round of cleanups of binfmt_misc. Eric