Re: [PATCH][-mm] Generic VFS fallback for security xattrs

From: Stephen Smalley
Date: Thu Aug 25 2005 - 14:42:42 EST


On Thu, 2005-08-25 at 13:43 -0400, Stephen Smalley wrote:
> This patch modifies the VFS setxattr, getxattr, and listxattr code to
> fall back to the security module for security xattrs if the filesystem
> does not support xattrs natively. This allows security modules to
> export the incore inode security label information to userspace even
> if the filesystem does not provide xattr storage, and eliminates the
> need to individually patch various pseudo filesystem types to provide
> such access. The patch removes the existing xattr code from devpts
> and tmpfs as it is then no longer needed.
>
> The patch restructures the code flow slightly to reduce duplication
> between the normal path and the fallback path, but this should only
> have one user-visible side effect - a program may get -EACCES rather
> than -EOPNOTSUPP if policy denied access but the filesystem didn't
> support the operation anyway. Note that the post_setxattr hook call
> is not needed in the fallback case, as the inode_setsecurity hook call
> handles the incore inode security state update directly. In contrast,
> we do call fsnotify in both cases.
>
> Please include in -mm for wider testing prior to merging in 2.6.14.
>
> ---
>
> fs/Kconfig | 43 ----------------------
> fs/devpts/Makefile | 1
> fs/devpts/inode.c | 21 -----------
> fs/devpts/xattr_security.c | 47 ------------------------
> fs/xattr.c | 80 +++++++++++++++++++++++++-----------------
> mm/shmem.c | 85 ---------------------------------------------
> 6 files changed, 49 insertions(+), 228 deletions(-)

Sorry, forgot to explicitly sign off on the patch:

Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx>

--
Stephen Smalley
National Security Agency

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/