cxgb3: Correct comparisons and calculations using skb->tail and skb-transport_header
authorLi RongQing <roy.qing.li@gmail.com>
Mon, 3 Jun 2013 22:11:16 +0000 (22:11 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 5 Jun 2013 00:37:59 +0000 (17:37 -0700)
commit15dd16c233b6d5ceea3a00f18d7c42902d0ac6b6
treeff130afebb3c4023eccfed777fc8913164482119
parent00f97da17a0c8d656d0c9a60b1d7f38735f69817
cxgb3: Correct comparisons and calculations using skb->tail and skb-transport_header

This corrects an regression introduced by "net: Use 16bits for *_headers
fields of struct skbuff" when NET_SKBUFF_DATA_USES_OFFSET is not set. In
that case skb->tail will be a pointer whereas skb->transport_header
will be an offset from head. This is corrected by using wrappers that
ensure that comparisons and calculations are always made using pointers.

Cc: Simon Horman <horms@verge.net.au>
Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Reviewed-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb3/sge.c
drivers/net/ethernet/chelsio/cxgb4/sge.c