• Vivek Goyal's avatar
    fuse: setattr should set FATTR_KILL_SUIDGID · 31792161
    Vivek Goyal authored
    If fc->handle_killpriv_v2 is enabled, we expect file server to clear
    suid/sgid/security.capbility upon chown/truncate/write as appropriate.
    
    Upon truncate (ATTR_SIZE), suid/sgid are cleared only if caller does not
    have CAP_FSETID.  File server does not know whether caller has CAP_FSETID
    or not.  Hence set FATTR_KILL_SUIDGID upon truncate to let file server know
    that caller does not have CAP_FSETID and it should kill suid/sgid as
    appropriate.
    
    On chown (ATTR_UID/ATTR_GID) suid/sgid need to be cleared irrespective of
    capabilities of calling process, so set FATTR_KILL_SUIDGID unconditionally
    in that case.
    Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    31792161
dir.c 46.7 KB