staging: lustre: llite: Remove filtering of seclabel xattr
authorRobin Humble <plaguedbypenguins@gmail.com>
Mon, 16 Apr 2018 04:14:55 +0000 (00:14 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Apr 2018 12:57:40 +0000 (14:57 +0200)
The security.capability xattr is used to implement File
Capabilities in recent Linux versions. Capabilities are a
fine grained approach to granting executables elevated
privileges. eg. /bin/ping can have capabilities
cap_net_admin, cap_net_raw+ep instead of being setuid root.

This xattr has long been filtered out by llite, initially for
stability reasons (b15587), and later over performance
concerns as this xattr is read for every file with eg.
'ls --color'. Since LU-2869 xattr's are cached on clients,
alleviating most performance concerns.

Removing llite's filtering of the security.capability xattr
enables using Lustre as a root filesystem, which is used on
some large clusters.

Signed-off-by: Robin Humble <plaguedbypenguins@gmail.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-9562
Reviewed-on: https://review.whamcloud.com/27292
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/llite/xattr.c

index 2d78432963dcd170c5d79bdbd748bc621ac31143..55a19a567ad1c4059d07d14278ba1ce5fa273374 100644 (file)
@@ -117,11 +117,6 @@ ll_xattr_set_common(const struct xattr_handler *handler,
             (handler->flags == XATTR_LUSTRE_T && !strcmp(name, "lov"))))
                return 0;
 
-       /* b15587: ignore security.capability xattr for now */
-       if ((handler->flags == XATTR_SECURITY_T &&
-            !strcmp(name, "capability")))
-               return 0;
-
        /* LU-549:  Disable security.selinux when selinux is disabled */
        if (handler->flags == XATTR_SECURITY_T && !selinux_is_enabled() &&
            strcmp(name, "selinux") == 0)
@@ -383,10 +378,6 @@ static int ll_xattr_get_common(const struct xattr_handler *handler,
        if (rc)
                return rc;
 
-       /* b15587: ignore security.capability xattr for now */
-       if ((handler->flags == XATTR_SECURITY_T && !strcmp(name, "capability")))
-               return -ENODATA;
-
        /* LU-549:  Disable security.selinux when selinux is disabled */
        if (handler->flags == XATTR_SECURITY_T && !selinux_is_enabled() &&
            !strcmp(name, "selinux"))