]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: fix infoleak in llc
authorKangjie Lu <kangjielu@gmail.com>
Tue, 3 May 2016 20:35:05 +0000 (16:35 -0400)
committerDhaval Giani <dhaval.giani@oracle.com>
Fri, 20 Jan 2017 22:22:03 +0000 (17:22 -0500)
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 <kjlu@gatech.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
(cherry picked from commit 5923f46563d1ce74c1f1178cba5a67735bb83e6d)
Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
net/llc/af_llc.c

index 17a8dff0609066e338b528328c4ed01259314d43..c58f242c00f144fe119511290cfe03263a624d30 100644 (file)
@@ -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);