mirror of
https://github.com/adulau/aha.git
synced 2025-01-04 07:03:38 +00:00
[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>
This commit is contained in:
parent
c3673464eb
commit
73c3367403
2 changed files with 7 additions and 7 deletions
|
@ -496,7 +496,7 @@ static inline void reset_wr_list(struct s3_conn *c3cn)
|
||||||
static inline void enqueue_wr(struct s3_conn *c3cn,
|
static inline void enqueue_wr(struct s3_conn *c3cn,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
skb->sp = NULL;
|
skb_wr_data(skb) = NULL;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We want to take an extra reference since both us and the driver
|
* 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,
|
||||||
if (!c3cn->wr_pending_head)
|
if (!c3cn->wr_pending_head)
|
||||||
c3cn->wr_pending_head = skb;
|
c3cn->wr_pending_head = skb;
|
||||||
else
|
else
|
||||||
c3cn->wr_pending_tail->sp = (void *)skb;
|
skb_wr_data(skb) = skb;
|
||||||
c3cn->wr_pending_tail = skb;
|
c3cn->wr_pending_tail = skb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -529,8 +529,8 @@ static inline struct sk_buff *dequeue_wr(struct s3_conn *c3cn)
|
||||||
|
|
||||||
if (likely(skb)) {
|
if (likely(skb)) {
|
||||||
/* Don't bother clearing the tail */
|
/* Don't bother clearing the tail */
|
||||||
c3cn->wr_pending_head = (struct sk_buff *)skb->sp;
|
c3cn->wr_pending_head = skb_wr_data(skb);
|
||||||
skb->sp = NULL;
|
skb_wr_data(skb) = NULL;
|
||||||
}
|
}
|
||||||
return skb;
|
return skb;
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,7 +180,7 @@ void cxgb3i_c3cn_release(struct s3_conn *);
|
||||||
* @seq: tcp sequence number
|
* @seq: tcp sequence number
|
||||||
* @ddigest: pdu data digest
|
* @ddigest: pdu data digest
|
||||||
* @pdulen: recovered pdu length
|
* @pdulen: recovered pdu length
|
||||||
* @ulp_data: scratch area for ULP
|
* @wr_data: scratch area for tx wr
|
||||||
*/
|
*/
|
||||||
struct cxgb3_skb_cb {
|
struct cxgb3_skb_cb {
|
||||||
__u8 flags;
|
__u8 flags;
|
||||||
|
@ -188,7 +188,7 @@ struct cxgb3_skb_cb {
|
||||||
__u32 seq;
|
__u32 seq;
|
||||||
__u32 ddigest;
|
__u32 ddigest;
|
||||||
__u32 pdulen;
|
__u32 pdulen;
|
||||||
__u8 ulp_data[16];
|
struct sk_buff *wr_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CXGB3_SKB_CB(skb) ((struct cxgb3_skb_cb *)&((skb)->cb[0]))
|
#define CXGB3_SKB_CB(skb) ((struct cxgb3_skb_cb *)&((skb)->cb[0]))
|
||||||
|
@ -196,7 +196,7 @@ struct cxgb3_skb_cb {
|
||||||
#define skb_ulp_mode(skb) (CXGB3_SKB_CB(skb)->ulp_mode)
|
#define skb_ulp_mode(skb) (CXGB3_SKB_CB(skb)->ulp_mode)
|
||||||
#define skb_ulp_ddigest(skb) (CXGB3_SKB_CB(skb)->ddigest)
|
#define skb_ulp_ddigest(skb) (CXGB3_SKB_CB(skb)->ddigest)
|
||||||
#define skb_ulp_pdulen(skb) (CXGB3_SKB_CB(skb)->pdulen)
|
#define skb_ulp_pdulen(skb) (CXGB3_SKB_CB(skb)->pdulen)
|
||||||
#define skb_ulp_data(skb) (CXGB3_SKB_CB(skb)->ulp_data)
|
#define skb_wr_data(skb) (CXGB3_SKB_CB(skb)->wr_data)
|
||||||
|
|
||||||
enum c3cb_flags {
|
enum c3cb_flags {
|
||||||
C3CB_FLAG_NEED_HDR = 1 << 0, /* packet needs a TX_DATA_WR header */
|
C3CB_FLAG_NEED_HDR = 1 << 0, /* packet needs a TX_DATA_WR header */
|
||||||
|
|
Loading…
Reference in a new issue