• Dmitry Kasatkin's avatar
    ima: remove usage of filename parameter · 17f4bad3
    Dmitry Kasatkin authored
    In all cases except ima_bprm_check() the filename was not defined
    and ima_d_path() was used to find the full path.  Unfortunately,
    the bprm filename is a relative pathname (eg. ./<dir>/filename).
    
    ima_bprm_check() selects between bprm->interp and bprm->filename.
    The following dump demonstrates the differences between using
    filename and interp.
    
    bprm->filename
     filename: ./foo.sh, pathname: /root/bin/foo.sh
     filename: ./foo.sh, pathname: /bin/dash
    
    bprm->interp
     filename: ./foo.sh, pathname: /root/bin/foo.sh
     filename: /bin/sh, pathname: /bin/dash
    
    In both cases the pathnames are currently the same.  This patch
    removes usage of filename and interp in favor of d_absolute_path.
    
    Changes v3:
    - 11 extra bytes for "deleted" not needed (Mimi)
    - purpose "replace relative bprm filename with full pathname" (Mimi)
    
    Changes v2:
    - use d_absolute_path() instead of d_path to work in chroot environments.
    Signed-off-by: default avatarDmitry Kasatkin <d.kasatkin@samsung.com>
    Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
    17f4bad3
ima_main.c 9.28 KB