diff mbox series

xattr: always us is_posix_acl_xattr() helper

Message ID 20220919094914.1174728-1-brauner@kernel.org (mailing list archive)
State New, archived
Headers show
Series xattr: always us is_posix_acl_xattr() helper | expand

Commit Message

Christian Brauner Sept. 19, 2022, 9:49 a.m. UTC
The is_posix_acl_xattr() helper was added in 0c5fd887d2bb ("acl: move
idmapped mount fixup into vfs_{g,s}etxattr()") to remove the open-coded
checks for POSIX ACLs. We missed to update two locations. Switch them to
use the helper.

Cc: Seth Forshee (DigitalOcean) <sforshee@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
---
 fs/xattr.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)


base-commit: b90cb1053190353cc30f0fef0ef1f378ccc063c5

Comments

Seth Forshee (DigitalOcean) Sept. 19, 2022, 1:41 p.m. UTC | #1
On Mon, Sep 19, 2022 at 11:49:14AM +0200, Christian Brauner wrote:
> The is_posix_acl_xattr() helper was added in 0c5fd887d2bb ("acl: move
> idmapped mount fixup into vfs_{g,s}etxattr()") to remove the open-coded
> checks for POSIX ACLs. We missed to update two locations. Switch them to
> use the helper.
> 
> Cc: Seth Forshee (DigitalOcean) <sforshee@kernel.org>
> Cc: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>

Reviewed-by: Seth Forshee (DigitalOcean) <sforshee@kernel.org>
Christoph Hellwig Sept. 20, 2022, 8:40 a.m. UTC | #2
Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>
diff mbox series

Patch

diff --git a/fs/xattr.c b/fs/xattr.c
index a1f4998bc6be..01aa45cea83c 100644
--- a/fs/xattr.c
+++ b/fs/xattr.c
@@ -587,9 +587,7 @@  int setxattr_copy(const char __user *name, struct xattr_ctx *ctx)
 static void setxattr_convert(struct user_namespace *mnt_userns,
 			     struct dentry *d, struct xattr_ctx *ctx)
 {
-	if (ctx->size &&
-		((strcmp(ctx->kname->name, XATTR_NAME_POSIX_ACL_ACCESS) == 0) ||
-		(strcmp(ctx->kname->name, XATTR_NAME_POSIX_ACL_DEFAULT) == 0)))
+	if (ctx->size && is_posix_acl_xattr(ctx->kname->name))
 		posix_acl_fix_xattr_from_user(ctx->kvalue, ctx->size);
 }
 
@@ -705,8 +703,7 @@  do_getxattr(struct user_namespace *mnt_userns, struct dentry *d,
 
 	error = vfs_getxattr(mnt_userns, d, kname, ctx->kvalue, ctx->size);
 	if (error > 0) {
-		if ((strcmp(kname, XATTR_NAME_POSIX_ACL_ACCESS) == 0) ||
-		    (strcmp(kname, XATTR_NAME_POSIX_ACL_DEFAULT) == 0))
+		if (is_posix_acl_xattr(kname))
 			posix_acl_fix_xattr_to_user(ctx->kvalue, error);
 		if (ctx->size && copy_to_user(ctx->value, ctx->kvalue, error))
 			error = -EFAULT;