diff options
| author | Karen Xie <kxie@chelsio.com> | 2008-12-30 00:43:25 -0500 |
|---|---|---|
| committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-12-30 11:45:34 -0500 |
| commit | 73c336740362731983bf7fd747cdd3b6ac593cef (patch) | |
| tree | fcd1644cf3789e5e4af0bfd514bd2d11e8eed6b2 | |
| parent | c3673464ebc004a3d82063cd41b9cf74d1b55db2 (diff) | |
[SCSI] cxgb3i: remove use of skb->sp
The cxgb3i was using skb->sp pointer for some internal book-keeping
which is not related to the secure path. Changed it to use skb->cb[]
instead.
Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Karen Xie <kxie@chelsio.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| -rw-r--r-- | drivers/scsi/cxgb3i/cxgb3i_offload.c | 8 | ||||
| -rw-r--r-- | drivers/scsi/cxgb3i/cxgb3i_offload.h | 6 |
2 files changed, 7 insertions, 7 deletions
diff --git a/drivers/scsi/cxgb3i/cxgb3i_offload.c b/drivers/scsi/cxgb3i/cxgb3i_offload.c index 5f16081b68d5..a865f1fefe8b 100644 --- a/drivers/scsi/cxgb3i/cxgb3i_offload.c +++ b/drivers/scsi/cxgb3i/cxgb3i_offload.c | |||
| @@ -496,7 +496,7 @@ static inline void reset_wr_list(struct s3_conn *c3cn) | |||
| 496 | static inline void enqueue_wr(struct s3_conn *c3cn, | 496 | static inline void enqueue_wr(struct s3_conn *c3cn, |
| 497 | struct sk_buff *skb) | 497 | struct sk_buff *skb) |
| 498 | { | 498 | { |
| 499 | skb->sp = NULL; | 499 | skb_wr_data(skb) = NULL; |
| 500 | 500 | ||
| 501 | /* | 501 | /* |
| 502 | * We want to take an extra reference since both us and the driver | 502 | * We want to take an extra reference since both us and the driver |
| @@ -509,7 +509,7 @@ static inline void enqueue_wr(struct s3_conn *c3cn, | |||
| 509 | if (!c3cn->wr_pending_head) | 509 | if (!c3cn->wr_pending_head) |
| 510 | c3cn->wr_pending_head = skb; | 510 | c3cn->wr_pending_head = skb; |
| 511 | else | 511 | else |
| 512 | c3cn->wr_pending_tail->sp = (void *)skb; | 512 | skb_wr_data(skb) = skb; |
| 513 | c3cn->wr_pending_tail = skb; | 513 | c3cn->wr_pending_tail = skb; |
| 514 | } | 514 | } |
| 515 | 515 | ||
| @@ -529,8 +529,8 @@ static inline struct sk_buff *dequeue_wr(struct s3_conn *c3cn) | |||
| 529 | 529 | ||
| 530 | if (likely(skb)) { | 530 | if (likely(skb)) { |
| 531 | /* Don't bother clearing the tail */ | 531 | /* Don't bother clearing the tail */ |
| 532 | c3cn->wr_pending_head = (struct sk_buff *)skb->sp; | 532 | c3cn->wr_pending_head = skb_wr_data(skb); |
| 533 | skb->sp = NULL; | 533 | skb_wr_data(skb) = NULL; |
| 534 | } | 534 | } |
| 535 | return skb; | 535 | return skb; |
| 536 | } | 536 | } |
diff --git a/drivers/scsi/cxgb3i/cxgb3i_offload.h b/drivers/scsi/cxgb3i/cxgb3i_offload.h index 5b93d629e5c1..d23156907ffd 100644 --- a/drivers/scsi/cxgb3i/cxgb3i_offload.h +++ b/drivers/scsi/cxgb3i/cxgb3i_offload.h | |||
| @@ -180,7 +180,7 @@ void cxgb3i_c3cn_release(struct s3_conn *); | |||
| 180 | * @seq: tcp sequence number | 180 | * @seq: tcp sequence number |
| 181 | * @ddigest: pdu data digest | 181 | * @ddigest: pdu data digest |
| 182 | * @pdulen: recovered pdu length | 182 | * @pdulen: recovered pdu length |
| 183 | * @ulp_data: scratch area for ULP | 183 | * @wr_data: scratch area for tx wr |
| 184 | */ | 184 | */ |
| 185 | struct cxgb3_skb_cb { | 185 | struct cxgb3_skb_cb { |
| 186 | __u8 flags; | 186 | __u8 flags; |
| @@ -188,7 +188,7 @@ struct cxgb3_skb_cb { | |||
| 188 | __u32 seq; | 188 | __u32 seq; |
| 189 | __u32 ddigest; | 189 | __u32 ddigest; |
| 190 | __u32 pdulen; | 190 | __u32 pdulen; |
| 191 | __u8 ulp_data[16]; | 191 | struct sk_buff *wr_data; |
| 192 | }; | 192 | }; |
| 193 | 193 | ||
| 194 | #define CXGB3_SKB_CB(skb) ((struct cxgb3_skb_cb *)&((skb)->cb[0])) | 194 | #define CXGB3_SKB_CB(skb) ((struct cxgb3_skb_cb *)&((skb)->cb[0])) |
| @@ -196,7 +196,7 @@ struct cxgb3_skb_cb { | |||
| 196 | #define skb_ulp_mode(skb) (CXGB3_SKB_CB(skb)->ulp_mode) | 196 | #define skb_ulp_mode(skb) (CXGB3_SKB_CB(skb)->ulp_mode) |
| 197 | #define skb_ulp_ddigest(skb) (CXGB3_SKB_CB(skb)->ddigest) | 197 | #define skb_ulp_ddigest(skb) (CXGB3_SKB_CB(skb)->ddigest) |
| 198 | #define skb_ulp_pdulen(skb) (CXGB3_SKB_CB(skb)->pdulen) | 198 | #define skb_ulp_pdulen(skb) (CXGB3_SKB_CB(skb)->pdulen) |
| 199 | #define skb_ulp_data(skb) (CXGB3_SKB_CB(skb)->ulp_data) | 199 | #define skb_wr_data(skb) (CXGB3_SKB_CB(skb)->wr_data) |
| 200 | 200 | ||
| 201 | enum c3cb_flags { | 201 | enum c3cb_flags { |
| 202 | C3CB_FLAG_NEED_HDR = 1 << 0, /* packet needs a TX_DATA_WR header */ | 202 | C3CB_FLAG_NEED_HDR = 1 << 0, /* packet needs a TX_DATA_WR header */ |
