projects
/
wrapfs-5.8.y.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2e2b678
)
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 09:08:27 +0000
(10:08 +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 412656c34f205ce73fb0737e9fe6c1cb6b5e7cfd..beeafa42aad76317fdfe4964fcb356ca688a4625 100644
(file)
--- a/
net/netfilter/ipvs/ip_vs_ctl.c
+++ b/
net/netfilter/ipvs/ip_vs_ctl.c
@@
-2471,6
+2471,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;
@@
-2547,9
+2551,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: