[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140903.204311.1364673588186463964.davem@davemloft.net>
Date: Wed, 03 Sep 2014 20:43:11 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: brouer@...hat.com
Cc: alexander.duyck@...il.com, netdev@...r.kernel.org,
eric.dumazet@...il.com
Subject: Re: [net-next PATCH V3] qdisc: validate frames going through the
direct_xmit path
From: Jesper Dangaard Brouer <brouer@...hat.com>
Date: Wed, 03 Sep 2014 17:56:09 +0200
> In commit 50cbe9ab5f8d ("net: Validate xmit SKBs right when we
> pull them out of the qdisc") the validation code was moved out of
> dev_hard_start_xmit and into dequeue_skb.
>
> However this overlooked the fact that we do not always enqueue
> the skb onto a qdisc. First situation is if qdisc have flag
> TCQ_F_CAN_BYPASS and qdisc is empty. Second situation is if
> there is no qdisc on the device, which is a common case for
> software devices.
>
> Originally spotted and inital patch by Alexander Duyck.
> As a result Alex was seeing issues trying to connect to a
> vhost_net interface after commit 50cbe9ab5f8d was applied.
>
> Added a call to validate_xmit_skb() in __dev_xmit_skb(), in the
> code path for qdiscs with TCQ_F_CAN_BYPASS flag, and in
> __dev_queue_xmit() when no qdisc.
>
> Also handle the error situation where dev_hard_start_xmit() could
> return a skb list, and does not return dev_xmit_complete(rc) and
> falls through to the kfree_skb(), in that situation it should
> call kfree_skb_list().
>
> Fixes: 50cbe9ab5f8d ("net: Validate xmit SKBs right when we pull them out of the qdisc")
> Signed-off-by: Alexander Duyck <alexander.h.duyck@...el.com>
> Signed-off-by: Jesper Dangaard Brouer <brouer@...hat.com>
Applied.
--
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