netrom: fix info leak via msg_name in nr_recvmsg()
authorMathias Krause <minipli@googlemail.com>
Sun, 7 Apr 2013 01:51:57 +0000 (01:51 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 13 May 2013 14:02:41 +0000 (15:02 +0100)
commitc0bf432a4c3e6870fc87debb9393cb93f638dcba
tree6905defe7108d9f6158b17a972412cd99e352f3f
parentd0dd0a3d5d31807eea0d54bd561cf178c45a24ca
netrom: fix info leak via msg_name in nr_recvmsg()

[ Upstream commits 3ce5efad47b62c57a4f5c54248347085a750ce0e and
  c802d759623acbd6e1ee9fbdabae89159a513913 ]

In case msg_name is set the sockaddr info gets filled out, as
requested, but the code fails to initialize the padding bytes of
struct sockaddr_ax25 inserted by the compiler for alignment. Also
the sax25_ndigis member does not get assigned, leaking four more
bytes.

Both issues lead to the fact that the code will leak uninitialized
kernel stack bytes in net/socket.c.

Fix both issues by initializing the memory with memset(0).

Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/netrom/af_netrom.c