]> git.baikalelectronics.ru Git - kernel.git/commit
ipvs: fix info leak in getsockopt(IP_VS_SO_GET_TIMEOUT)
authorMathias Krause <minipli@googlemail.com>
Wed, 15 Aug 2012 11:31:56 +0000 (11:31 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 16 Aug 2012 04:36:31 +0000 (21:36 -0700)
commit764839c2fcd8d9cd4b8c9788735f87ae63697812
tree5196f6e5691d8de3915bbb11ed84dd54ca6302c8
parent9cb726f806cfe824cc43d7e9bcf69b6cd2d5288e
ipvs: fix info leak in getsockopt(IP_VS_SO_GET_TIMEOUT)

If at least one of CONFIG_IP_VS_PROTO_TCP or CONFIG_IP_VS_PROTO_UDP is
not set, __ip_vs_get_timeouts() does not fully initialize the structure
that gets copied to userland and that for leaks up to 12 bytes of kernel
stack. Add an explicit memset(0) before passing the structure to
__ip_vs_get_timeouts() to avoid the info leak.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Wensong Zhang <wensong@linux-vs.org>
Cc: Simon Horman <horms@verge.net.au>
Cc: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netfilter/ipvs/ip_vs_ctl.c