super.c (0c97be22f928b85110504c4bbb8574facb4bd0c0) super.c (0e585ccc13b3edbb187fb4f1b7cc9397f17d64a9)
1/*
2 *
3 * Copyright (C) 2011 Novell Inc.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published by
7 * the Free Software Foundation.
8 */

--- 1004 unchanged lines hidden (view full) ---

1013 goto out_acl_release;
1014 }
1015 err = -EPERM;
1016 if (!inode_owner_or_capable(inode))
1017 goto out_acl_release;
1018
1019 posix_acl_release(acl);
1020
1/*
2 *
3 * Copyright (C) 2011 Novell Inc.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published by
7 * the Free Software Foundation.
8 */

--- 1004 unchanged lines hidden (view full) ---

1013 goto out_acl_release;
1014 }
1015 err = -EPERM;
1016 if (!inode_owner_or_capable(inode))
1017 goto out_acl_release;
1018
1019 posix_acl_release(acl);
1020
1021 return ovl_setxattr(dentry, inode, handler->name, value, size, flags);
1021 return ovl_xattr_set(dentry, handler->name, value, size, flags);
1022
1023out_acl_release:
1024 posix_acl_release(acl);
1025 return err;
1026}
1027
1022
1023out_acl_release:
1024 posix_acl_release(acl);
1025 return err;
1026}
1027
1028static int ovl_other_xattr_set(const struct xattr_handler *handler,
1029 struct dentry *dentry, struct inode *inode,
1030 const char *name, const void *value,
1031 size_t size, int flags)
1032{
1033 return ovl_setxattr(dentry, inode, name, value, size, flags);
1034}
1035
1036static int ovl_own_xattr_set(const struct xattr_handler *handler,
1037 struct dentry *dentry, struct inode *inode,
1038 const char *name, const void *value,
1039 size_t size, int flags)
1040{
1041 return -EPERM;
1042}
1043
1028static int ovl_own_xattr_set(const struct xattr_handler *handler,
1029 struct dentry *dentry, struct inode *inode,
1030 const char *name, const void *value,
1031 size_t size, int flags)
1032{
1033 return -EPERM;
1034}
1035
1036static int ovl_other_xattr_set(const struct xattr_handler *handler,
1037 struct dentry *dentry, struct inode *inode,
1038 const char *name, const void *value,
1039 size_t size, int flags)
1040{
1041 return ovl_xattr_set(dentry, name, value, size, flags);
1042}
1043
1044static const struct xattr_handler __maybe_unused
1045ovl_posix_acl_access_xattr_handler = {
1046 .name = XATTR_NAME_POSIX_ACL_ACCESS,
1047 .flags = ACL_TYPE_ACCESS,
1048 .set = ovl_posix_acl_xattr_set,
1049};
1050
1051static const struct xattr_handler __maybe_unused

--- 301 unchanged lines hidden ---
1044static const struct xattr_handler __maybe_unused
1045ovl_posix_acl_access_xattr_handler = {
1046 .name = XATTR_NAME_POSIX_ACL_ACCESS,
1047 .flags = ACL_TYPE_ACCESS,
1048 .set = ovl_posix_acl_xattr_set,
1049};
1050
1051static const struct xattr_handler __maybe_unused

--- 301 unchanged lines hidden ---