projects
/
platform
/
kernel
/
linux-amlogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d7e5fe2
)
ipvs: Fix uninit-value in do_ip_vs_set_ctl()
author
Peilin Ye
<yepeilin.cs@gmail.com>
Tue, 11 Aug 2020 07:46:40 +0000
(
03:46
-0400)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 08:05:45 +0000
(09:05 +0100)
[ Upstream commit
c5a8a8498eed1c164afc94f50a939c1a10abf8ad
]
do_ip_vs_set_ctl() is referencing uninitialized stack value when `len` is
zero. Fix it.
Reported-by: syzbot+23b5f9e7caf61d9a3898@syzkaller.appspotmail.com
Link:
https://syzkaller.appspot.com/bug?id=46ebfb92a8a812621a001ef04d90dfa459520fe2
Suggested-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Peilin Ye <yepeilin.cs@gmail.com>
Acked-by: Julian Anastasov <ja@ssi.bg>
Reviewed-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/netfilter/ipvs/ip_vs_ctl.c
patch
|
blob
|
history
diff --git
a/net/netfilter/ipvs/ip_vs_ctl.c
b/net/netfilter/ipvs/ip_vs_ctl.c
index 33125fc009cfde20a257bee4559c51388eb9de27..ba9e711f7e3d66651df72d581abd9db493027b09 100644
(file)
--- a/
net/netfilter/ipvs/ip_vs_ctl.c
+++ b/
net/netfilter/ipvs/ip_vs_ctl.c
@@
-2424,6
+2424,10
@@
do_ip_vs_set_ctl(struct sock *sk, int cmd, void __user *user, unsigned int len)
/* Set timeout values for (tcp tcpfin udp) */
ret = ip_vs_set_timeout(ipvs, (struct ip_vs_timeout_user *)arg);
goto out_unlock;
+ } else if (!len) {
+ /* No more commands with len == 0 below */
+ ret = -EINVAL;
+ goto out_unlock;
}
usvc_compat = (struct ip_vs_service_user *)arg;
@@
-2500,9
+2504,6
@@
do_ip_vs_set_ctl(struct sock *sk, int cmd, void __user *user, unsigned int len)
break;
case IP_VS_SO_SET_DELDEST:
ret = ip_vs_del_dest(svc, &udest);
- break;
- default:
- ret = -EINVAL;
}
out_unlock: