• J
    selinux: fix setting of security labels on NFS · 9fc2b4b4
    J. Bruce Fields 提交于
    Before calling into the filesystem, vfs_setxattr calls
    security_inode_setxattr, which ends up calling selinux_inode_setxattr in
    our case.  That returns -EOPNOTSUPP whenever SBLABEL_MNT is not set.
    SBLABEL_MNT was supposed to be set by sb_finish_set_opts, which sets it
    only if selinux_is_sblabel_mnt returns true.
    
    The selinux_is_sblabel_mnt logic was broken by eadcabc6 "SELinux: do
    all flags twiddling in one place", which didn't take into the account
    the SECURITY_FS_USE_NATIVE behavior that had been introduced for nfs
    with eb9ae686 "SELinux: Add new labeling type native labels".
    
    This caused setxattr's of security labels over NFSv4.2 to fail.
    
    Cc: stable@kernel.org # 3.13
    Cc: Eric Paris <eparis@redhat.com>
    Cc: David Quigley <dpquigl@davequigley.com>
    Reported-by: NRichard Chan <rc556677@outlook.com>
    Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
    Acked-by: NStephen Smalley <sds@tycho.nsa.gov>
    [PM: added the stable dependency]
    Signed-off-by: NPaul Moore <pmoore@redhat.com>
    9fc2b4b4
hooks.c 155.0 KB