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)
commit2d8a041b7bfe1097af21441cb77d6af95f4f4680
tree5196f6e5691d8de3915bbb11ed84dd54ca6302c8
parent7b07f8eb75aa3097cdfd4f6eac3da49db787381d
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