netfilter: nf_tables: Fix oversized kvmalloc() calls
The commit 7661809d49
("mm: don't allow oversized kvmalloc() calls")
limits the max allocatable memory via kvmalloc() to MAX_INT.
Reported-by: syzbot+cd43695a64bcd21b8596@syzkaller.appspotmail.com
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
a499b03bf3
Коммит
45928afe94
|
@ -4336,7 +4336,7 @@ static int nf_tables_newset(struct sk_buff *skb, const struct nfnl_info *info,
|
||||||
if (ops->privsize != NULL)
|
if (ops->privsize != NULL)
|
||||||
size = ops->privsize(nla, &desc);
|
size = ops->privsize(nla, &desc);
|
||||||
alloc_size = sizeof(*set) + size + udlen;
|
alloc_size = sizeof(*set) + size + udlen;
|
||||||
if (alloc_size < size)
|
if (alloc_size < size || alloc_size > INT_MAX)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
set = kvzalloc(alloc_size, GFP_KERNEL);
|
set = kvzalloc(alloc_size, GFP_KERNEL);
|
||||||
if (!set)
|
if (!set)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче