net: dev_pick_tx() fix
authorEric Dumazet <eric.dumazet@gmail.com>
Sun, 11 Apr 2010 21:18:17 +0000 (21:18 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Apr 2010 08:27:11 +0000 (01:27 -0700)
commit8728c544a9cbdcb0034aa5c45706c5f953f030ee
tree81fa8933b6769983063db89da3242aabbf816135
parent4eaa0e3c869acd5dbc7c2e3818a9ae9cbf221d27
net: dev_pick_tx() fix

When dev_pick_tx() caches tx queue_index on a socket, we must check
socket dst_entry matches skb one, or risk a crash later, as reported by
Denys Fedorysychenko, if old packets are in flight during a route
change, involving devices with different number of queues.

Bug introduced by commit a4ee3ce3
(net: Use sk_tx_queue_mapping for connected sockets)

Reported-by: Denys Fedorysychenko <nuclearcat@nuclearcat.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c