提交 59470176 编写于 作者: E Eric Sandeen 提交者: Zheng Zengkai

seq_file: disallow extremely large seq buffer allocations

stable inclusion
from stable-5.10.52
commit 174c34d9cda1b5818419b8f5a332ced10755e52f
bugzilla: 331
CVE: CVE-2021-33909

---------------------------------------------------------------

commit 8cae8cd8 upstream.

There is no reasonable need for a buffer larger than this, and it avoids
int overflow pitfalls.

Fixes: 058504ed ("fs/seq_file: fallback to vmalloc allocation")
Suggested-by: NAl Viro <viro@zeniv.linux.org.uk>
Reported-by: NQualys Security Advisory <qsa@qualys.com>
Signed-off-by: NEric Sandeen <sandeen@redhat.com>
Cc: stable@kernel.org
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 3965519b
......@@ -32,6 +32,9 @@ static void seq_set_overflow(struct seq_file *m)
static void *seq_buf_alloc(unsigned long size)
{
if (unlikely(size > MAX_RW_COUNT))
return NULL;
return kvmalloc(size, GFP_KERNEL_ACCOUNT);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册