]> git.ipfire.org Git - thirdparty/linux.git/commit
cifs: client: fix memory leak in smb3_fs_context_parse_param
authorEdward Adam Davis <eadavis@qq.com>
Fri, 7 Nov 2025 14:01:39 +0000 (22:01 +0800)
committerSteve French <stfrench@microsoft.com>
Sun, 9 Nov 2025 23:30:17 +0000 (17:30 -0600)
commite8c73eb7db0a498cd4b22d2819e6ab1a6f506bd6
tree925e4e66e7a5038eaa207223883e986c51136ee5
parent79280191c2fd7f24899bbd640003b5389d3c109c
cifs: client: fix memory leak in smb3_fs_context_parse_param

The user calls fsconfig twice, but when the program exits, free() only
frees ctx->source for the second fsconfig, not the first.
Regarding fc->source, there is no code in the fs context related to its
memory reclamation.

To fix this memory leak, release the source memory corresponding to ctx
or fc before each parsing.

syzbot reported:
BUG: memory leak
unreferenced object 0xffff888128afa360 (size 96):
  backtrace (crc 79c9c7ba):
    kstrdup+0x3c/0x80 mm/util.c:84
    smb3_fs_context_parse_param+0x229b/0x36c0 fs/smb/client/fs_context.c:1444

BUG: memory leak
unreferenced object 0xffff888112c7d900 (size 96):
  backtrace (crc 79c9c7ba):
    smb3_fs_context_fullpath+0x70/0x1b0 fs/smb/client/fs_context.c:629
    smb3_fs_context_parse_param+0x2266/0x36c0 fs/smb/client/fs_context.c:1438

Reported-by: syzbot+72afd4c236e6bc3f4bac@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=72afd4c236e6bc3f4bac
Cc: stable@vger.kernel.org
Reviewed-by: Paulo Alcantara (Red Hat) <pc@manguebit.org>
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/fs_context.c