From: Kangjie Lu Date: Tue, 3 May 2016 20:35:05 +0000 (-0400) Subject: net: fix infoleak in llc X-Git-Tag: v4.1.12-92~15^2~56 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=49e991f0fdb9ca8122024ff2467089da5991e9a9;p=users%2Fjedix%2Flinux-maple.git net: fix infoleak in llc Orabug: 25308082 [ Upstream commit b8670c09f37bdf2847cc44f36511a53afc6161fd ] The stack object “info” has a total size of 12 bytes. Its last byte is padding which is not initialized and leaked via “put_cmsg”. Signed-off-by: Kangjie Lu Signed-off-by: David S. Miller Signed-off-by: Sasha Levin (cherry picked from commit 5923f46563d1ce74c1f1178cba5a67735bb83e6d) Signed-off-by: Dhaval Giani --- diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index 17a8dff060906..c58f242c00f14 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c @@ -626,6 +626,7 @@ static void llc_cmsg_rcv(struct msghdr *msg, struct sk_buff *skb) if (llc->cmsg_flags & LLC_CMSG_PKTINFO) { struct llc_pktinfo info; + memset(&info, 0, sizeof(info)); info.lpi_ifindex = llc_sk(skb->sk)->dev->ifindex; llc_pdu_decode_dsap(skb, &info.lpi_sap); llc_pdu_decode_da(skb, info.lpi_mac);