]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tmpfs: simplify constructing "security.foo" xattr names
authorMiklos Szeredi <mszeredi@redhat.com>
Fri, 5 Jun 2026 13:53:17 +0000 (15:53 +0200)
committerChristian Brauner <brauner@kernel.org>
Sat, 6 Jun 2026 13:21:40 +0000 (15:21 +0200)
Use kasprintf() instead of doing it with kmalloc() + 2 x memcpy().

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Link: https://patch.msgid.link/20260605135322.2632068-3-mszeredi@redhat.com
Tested-by: Calum Mackay <calum.mackay@oracle.com>
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
mm/shmem.c

index 3b5dc21b323c2f1a6597c6d44b8e74c2134df1b7..c7897570fc9f9dd6d0f0f2af7c9b3548690b7370 100644 (file)
@@ -4232,7 +4232,6 @@ static int shmem_initxattrs(struct inode *inode,
        struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb);
        const struct xattr *xattr;
        size_t ispace = 0;
-       size_t len;
 
        CLASS(simple_xattrs, xattrs)();
        if (IS_ERR(xattrs))
@@ -4260,17 +4259,11 @@ static int shmem_initxattrs(struct inode *inode,
                if (IS_ERR(new_xattr))
                        break;
 
-               len = strlen(xattr->name) + 1;
-               new_xattr->name = kmalloc(XATTR_SECURITY_PREFIX_LEN + len,
-                                         GFP_KERNEL_ACCOUNT);
+               new_xattr->name = kasprintf(GFP_KERNEL_ACCOUNT,
+                                       XATTR_SECURITY_PREFIX "%s", xattr->name);
                if (!new_xattr->name)
                        break;
 
-               memcpy(new_xattr->name, XATTR_SECURITY_PREFIX,
-                      XATTR_SECURITY_PREFIX_LEN);
-               memcpy(new_xattr->name + XATTR_SECURITY_PREFIX_LEN,
-                      xattr->name, len);
-
                if (simple_xattr_add(xattrs, new_xattr))
                        break;
                retain_and_null_ptr(new_xattr);