[PATCH 3/3] ksmbd: fix n.data memory leak in ksmbd_vfs_set_dos_attrib_xattr

From: liuqiangneo

Date: Mon Jun 22 2026 - 22:14:17 EST


From: Qiang Liu <liuqiang@xxxxxxxxxx>

Free ndr buffer data when ndr_encode_dos_attr() returns error
to avoid memory leak.

Signed-off-by: Qiang Liu <liuqiang@xxxxxxxxxx>
---
fs/smb/server/vfs.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c
index 60b4210d5ab8..18d5412081de 100644
--- a/fs/smb/server/vfs.c
+++ b/fs/smb/server/vfs.c
@@ -1568,8 +1568,10 @@ int ksmbd_vfs_set_dos_attrib_xattr(struct mnt_idmap *idmap,
int err;

err = ndr_encode_dos_attr(&n, da);
- if (err)
+ if (err) {
+ kfree(n.data);
return err;
+ }

err = ksmbd_vfs_setxattr(idmap, path, XATTR_NAME_DOS_ATTRIBUTE,
(void *)n.data, n.offset, 0, get_write);
--
2.43.0