Skip to content
  • Oleg Nesterov's avatar
    exec: load_script: kill the onstack interp[BINPRM_BUF_SIZE] array · c2315c18
    Oleg Nesterov authored
    Patch series "exec: binfmt_misc: fix use-after-free, kill
    iname[BINPRM_BUF_SIZE]".
    
    It looks like this code was always wrong, then commit 948b701a
    ("binfmt_misc: add persistent opened binary handler for containers")
    added more problems.
    
    This patch (of 6):
    
    load_script() can simply use i_name instead, it points into bprm->buf[]
    and nobody can change this memory until we call prepare_binprm().
    
    The only complication is that we need to also change the signature of
    bprm_change_interp() but this change looks good too.
    
    While at it, do whitespace/style cleanups.
    
    NOTE: the real motivation for this change is that people want to
    increase BINPRM_BUF_SIZE, we need to change load_misc_binary() too but
    this looks more complicated because afaics it is very buggy.
    
    Link: http://lkml.kernel.org/r/20170918163446.GA26793@redhat.com
    
    
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Acked-by: default avatarKees Cook <keescook@chromium.org>
    Cc: Travis Gummels <tgummels@re...
    c2315c18