lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 17 Jul 2014 20:10:27 +0100 From: Zoltan Kiss <zoltan.kiss@...rix.com> To: Wei Liu <wei.liu2@...rix.com>, Ian Campbell <Ian.Campbell@...rix.com> CC: Zoltan Kiss <zoltan.kiss@...rix.com>, <netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>, <xen-devel@...ts.xenproject.org> Subject: [PATCH for stable 3.15 2/4] xen-netback: Fix releasing frag_list skbs in error path When the grant operations failed, the skb is freed up eventually, and it tries to release the frags, if there is any. For the main skb nr_frags is set to 0 to avoid this, but on the frag_list it iterates through the frags array, and tries to call put_page on the page pointer which contains garbage at that time. Signed-off-by: Zoltan Kiss <zoltan.kiss@...rix.com> Reported-by: Armin Zentai <armin.zentai@...t.hu> Cc: netdev@...r.kernel.org Cc: linux-kernel@...r.kernel.org Cc: xen-devel@...ts.xenproject.org diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index 1e19001..8ca6a26 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c @@ -1509,6 +1509,11 @@ static int xenvif_tx_submit(struct xenvif *vif) /* Check the remap error code. */ if (unlikely(xenvif_tx_check_gop(vif, skb, &gop_map, &gop_copy))) { skb_shinfo(skb)->nr_frags = 0; + if (skb_has_frag_list(skb)) { + struct sk_buff *nskb = + skb_shinfo(skb)->frag_list; + skb_shinfo(nskb)->nr_frags = 0; + } kfree_skb(skb); continue; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists