xattr_security.c

来自「Linux Kernel 2.6.9 for OMAP1710」· C语言 代码 · 共 70 行

C
70
字号
#include <linux/reiserfs_fs.h>#include <linux/errno.h>#include <linux/fs.h>#include <linux/pagemap.h>#include <linux/xattr.h>#include <linux/reiserfs_xattr.h>#include <asm/uaccess.h>#define XATTR_SECURITY_PREFIX "security."static intsecurity_get (struct inode *inode, const char *name, void *buffer, size_t size){    if (strlen(name) < sizeof(XATTR_SECURITY_PREFIX))        return -EINVAL;    if (is_reiserfs_priv_object(inode))        return -EPERM;    return reiserfs_xattr_get (inode, name, buffer, size);}static intsecurity_set (struct inode *inode, const char *name, const void *buffer,          size_t size, int flags){    if (strlen(name) < sizeof(XATTR_SECURITY_PREFIX))        return -EINVAL;    if (is_reiserfs_priv_object(inode))        return -EPERM;    return reiserfs_xattr_set (inode, name, buffer, size, flags);}static intsecurity_del (struct inode *inode, const char *name){    if (strlen(name) < sizeof(XATTR_SECURITY_PREFIX))        return -EINVAL;    if (is_reiserfs_priv_object(inode))        return -EPERM;    return 0;}static intsecurity_list (struct inode *inode, const char *name, int namelen, char *out){    int len = namelen;    if (is_reiserfs_priv_object(inode))        return 0;    if (out)        memcpy (out, name, len);    return len;}struct reiserfs_xattr_handler security_handler = {	.prefix = XATTR_SECURITY_PREFIX,	.get = security_get,	.set = security_set,	.del = security_del,	.list = security_list,};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?