OpenCloudOS-Kernel/drivers/net/ethernet/qlogic/netxen
Eric Dumazet a05948f296 netxen: fix off by one bug in netxen_release_tx_buffer()
Christoph Paasch found netxen could trigger a BUG in its dismantle
phase, in netxen_release_tx_buffer(), using full size TSO packets.

cmd_buf->frag_count includes the skb->data part, so the loop must
start at index 1 instead of 0, or else we can make an out
of bound access to cmd_buff->frag_array[MAX_SKB_FRAGS + 2]

Christoph provided the fixes in netxen_map_tx_skb() function.
In case of a dma mapping error, its better to clear the dma fields
so that we don't try to unmap them again in netxen_release_tx_buffer()

Reported-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Tested-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Cc: Sony Chacko <sony.chacko@qlogic.com>
Cc: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-22 14:14:47 -05:00
..
Makefile qlogic: Move the QLogic drivers 2011-08-10 20:03:49 -07:00
netxen_nic.h netxen_nic: restrict force firmware dump when dump is disabled. 2012-06-29 00:52:32 -07:00
netxen_nic_ctx.c netxen_nic: Fix estimation of recv MSS in case of LRO 2012-05-09 22:53:04 -04:00
netxen_nic_ethtool.c drivers: ethernet: qlogic: netxen_nic_ethtool.c: Fixed a coding style issue 2012-11-06 17:41:42 -05:00
netxen_nic_hdr.h netxen_nic: Fix estimation of recv MSS in case of LRO 2012-05-09 22:53:04 -04:00
netxen_nic_hw.c netxen: Error return off by one for XG port. 2012-06-25 15:26:31 -07:00
netxen_nic_hw.h qlogic: Move the QLogic drivers 2011-08-10 20:03:49 -07:00
netxen_nic_init.c netxen: fix off by one bug in netxen_release_tx_buffer() 2013-01-22 14:14:47 -05:00
netxen_nic_main.c netxen: fix off by one bug in netxen_release_tx_buffer() 2013-01-22 14:14:47 -05:00