if (IS_IMMUTABLE(inode) || IS_APPEND(inode) || S_ISLNK(inode->i_mode)) 
if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) 
static int can_set_xattr(struct inode *inode, const char *name,			 const void *value, size_t value_len){	if (IS_RDONLY(inode))		return -EROFS;	if (IS_IMMUTABLE(inode) || IS_APPEND(inode) || S_ISLNK(inode->i_mode))		return -EPERM;	if(strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN) == 0)		/*		 * "system.*"		 */		return can_set_system_xattr(inode, name, value, value_len);	if(strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN) != 0)		return (capable(CAP_SYS_ADMIN) ? 0 : -EPERM);#ifdef CONFIG_JFS_SECURITY	if (strncmp(name, XATTR_SECURITY_PREFIX, XATTR_SECURITY_PREFIX_LEN)	    != 0)		return 0;	/* Leave it to the security module */#endif			if((strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN) != 0) &&	   (strncmp(name, XATTR_OS2_PREFIX, XATTR_OS2_PREFIX_LEN) != 0))		return -EOPNOTSUPP;	if (!S_ISREG(inode->i_mode) &&	    (!S_ISDIR(inode->i_mode) || inode->i_mode &S_ISVTX))		return -EPERM;	return permission(inode, MAY_WRITE, NULL);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6211502d7ee9e515e4458d0c0ebfbb70553dc7de/xattr.c/buggy/fs/jfs/xattr.c