From: Leo Stone Date: Mon, 16 Dec 2024 04:27:51 +0000 (-0800) Subject: mm: huge_memory: handle strsep not finding delimiter X-Git-Tag: v6.13-rc4~4^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d3ac65d274b3a93cf9cf9559fd1473ab65e00e10;p=thirdparty%2Fkernel%2Flinux.git mm: huge_memory: handle strsep not finding delimiter split_huge_pages_write() does not handle the case where strsep finds no delimiter in the given string and sets the input buffer to NULL, which allows this reproducer to trigger a protection fault. Link: https://lkml.kernel.org/r/20241216042752.257090-2-leocstone@gmail.com Signed-off-by: Leo Stone Reported-by: syzbot+8a3da2f1bbf59227c289@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=8a3da2f1bbf59227c289 Signed-off-by: Andrew Morton --- diff --git a/mm/huge_memory.c b/mm/huge_memory.c index df0c4988dd88b..e53d83b3e5cf9 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -4169,7 +4169,7 @@ static ssize_t split_huge_pages_write(struct file *file, const char __user *buf, size_t input_len = strlen(input_buf); tok = strsep(&buf, ","); - if (tok) { + if (tok && buf) { strscpy(file_path, tok); } else { ret = -EINVAL;