From: Qiang Liu Date: Wed, 24 Jun 2026 01:13:20 +0000 (+0800) Subject: ksmbd: fix n.data memory leak in ksmbd_vfs_set_dos_attrib_xattr X-Git-Tag: v7.2-rc2~9^2~13 X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=7ac657bb9c5c1b0f7bdf1fa6d3ad532f969be5cf;p=thirdparty%2Flinux.git ksmbd: fix n.data memory leak in ksmbd_vfs_set_dos_attrib_xattr Free ndr buffer data when ndr_encode_dos_attr() returns error to avoid memory leak. Signed-off-by: Qiang Liu Reviewed-by: ChenXiaoSong Acked-by: Namjae Jeon Signed-off-by: Steve French --- diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c index 6528412eac2d..d0a0ad15d803 100644 --- a/fs/smb/server/vfs.c +++ b/fs/smb/server/vfs.c @@ -1575,14 +1575,15 @@ int ksmbd_vfs_set_dos_attrib_xattr(struct mnt_idmap *idmap, err = ndr_encode_dos_attr(&n, da); if (err) - return err; + goto out; err = ksmbd_vfs_setxattr(idmap, path, XATTR_NAME_DOS_ATTRIBUTE, (void *)n.data, n.offset, 0, get_write); if (err) ksmbd_debug(SMB, "failed to store dos attribute in xattr\n"); - kfree(n.data); +out: + kfree(n.data); return err; }