]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit06087dd51eaf8c611e54a9084ba4389252c472d6
tree81fa8933b6769983063db89da3242aabbf816135
parenta8c65ebd04c345b5bf34cb6f9c5348cd142fef4b
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 a69d10ae
(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