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 linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 14 Mar 2012 12:17:12 -0700 From: Eric Dumazet <eric.dumazet@...il.com> To: Ben Greear <greearb@...delatech.com> Cc: David Miller <davem@...emloft.net>, netdev <netdev@...r.kernel.org>, "K. Y. Srinivasan" <kys@...rosoft.com>, Haiyang Zhang <haiyangz@...rosoft.com>, Greg Kroah-Hartman <gregkh@...uxfoundation.org> Subject: Re: [PATCH] net/hyperv: fix erroneous NETDEV_TX_BUSY use On Wed, 2012-03-14 at 11:56 -0700, Ben Greear wrote: > On 03/14/2012 11:53 AM, Eric Dumazet wrote: > > A driver start_xmit() method cannot free skb and return NETDEV_TX_BUSY, > > since caller is going to reuse freed skb. > > > > This is mostly a revert of commit bf769375c (staging: hv: fix the return > > status of netvsc_start_xmit()) > > > > In fact netif_tx_stop_queue() / netif_stop_queue() is needed before > > returning NETDEV_TX_BUSY or you can trigger a ksoftirqd fatal loop. > > > > In case of memory allocation error, only safe way is to drop the packet > > and return NETDEV_TX_OK > > Can you not just leave the skb alone, not bump any tx-dropped > stats, and return NETDEV_TX_BUSY? > Nope. Think about OOM. If we do that, we requeue packet on qdisc, and schedule TX softirq. -> loop Really, NETDEV_TX_BUSY is not for this kind of situation. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists