Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de77b966 authored by yuan linyu's avatar yuan linyu Committed by David S. Miller
Browse files

net: introduce __skb_put_[zero, data, u8]



follow Johannes Berg, semantic patch file as below,
@@
identifier p, p2;
expression len;
expression skb;
type t, t2;
@@
(
-p = __skb_put(skb, len);
+p = __skb_put_zero(skb, len);
|
-p = (t)__skb_put(skb, len);
+p = __skb_put_zero(skb, len);
)
... when != p
(
p2 = (t2)p;
-memset(p2, 0, len);
|
-memset(p, 0, len);
)

@@
identifier p;
expression len;
expression skb;
type t;
@@
(
-t p = __skb_put(skb, len);
+t p = __skb_put_zero(skb, len);
)
... when != p
(
-memset(p, 0, len);
)

@@
type t, t2;
identifier p, p2;
expression skb;
@@
t *p;
...
(
-p = __skb_put(skb, sizeof(t));
+p = __skb_put_zero(skb, sizeof(t));
|
-p = (t *)__skb_put(skb, sizeof(t));
+p = __skb_put_zero(skb, sizeof(t));
)
... when != p
(
p2 = (t2)p;
-memset(p2, 0, sizeof(*p));
|
-memset(p, 0, sizeof(*p));
)

@@
expression skb, len;
@@
-memset(__skb_put(skb, len), 0, len);
+__skb_put_zero(skb, len);

@@
expression skb, len, data;
@@
-memcpy(__skb_put(skb, len), data, len);
+__skb_put_data(skb, data, len);

@@
expression SKB, C, S;
typedef u8;
identifier fn = {__skb_put};
fresh identifier fn2 = fn ## "_u8";
@@
- *(u8 *)fn(SKB, S) = C;
+ fn2(SKB, C);

Signed-off-by: default avataryuan linyu <Linyu.Yuan@alcatel-sbell.com.cn>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ddcbabf4
Loading
Loading
Loading
Loading
+5 −10
Original line number Original line Diff line number Diff line
@@ -604,8 +604,7 @@ static struct sk_buff
	if (!skb)
	if (!skb)
		return ERR_PTR(-ENOMEM);
		return ERR_PTR(-ENOMEM);
	skb_reserve(skb, sizeof(struct sge_opaque_hdr));
	skb_reserve(skb, sizeof(struct sge_opaque_hdr));
	chcr_req = __skb_put(skb, transhdr_len);
	chcr_req = __skb_put_zero(skb, transhdr_len);
	memset(chcr_req, 0, transhdr_len);
	chcr_req->sec_cpl.op_ivinsrtofst =
	chcr_req->sec_cpl.op_ivinsrtofst =
		FILL_SEC_CPL_OP_IVINSR(ctx->dev->rx_channel_id, 2, 1);
		FILL_SEC_CPL_OP_IVINSR(ctx->dev->rx_channel_id, 2, 1);


@@ -881,8 +880,7 @@ static struct sk_buff *create_hash_wr(struct ahash_request *req,
		return skb;
		return skb;


	skb_reserve(skb, sizeof(struct sge_opaque_hdr));
	skb_reserve(skb, sizeof(struct sge_opaque_hdr));
	chcr_req = __skb_put(skb, transhdr_len);
	chcr_req = __skb_put_zero(skb, transhdr_len);
	memset(chcr_req, 0, transhdr_len);


	chcr_req->sec_cpl.op_ivinsrtofst =
	chcr_req->sec_cpl.op_ivinsrtofst =
		FILL_SEC_CPL_OP_IVINSR(ctx->dev->rx_channel_id, 2, 0);
		FILL_SEC_CPL_OP_IVINSR(ctx->dev->rx_channel_id, 2, 0);
@@ -1447,8 +1445,7 @@ static struct sk_buff *create_authenc_wr(struct aead_request *req,
	skb_reserve(skb, sizeof(struct sge_opaque_hdr));
	skb_reserve(skb, sizeof(struct sge_opaque_hdr));


	/* Write WR */
	/* Write WR */
	chcr_req = __skb_put(skb, transhdr_len);
	chcr_req = __skb_put_zero(skb, transhdr_len);
	memset(chcr_req, 0, transhdr_len);


	stop_offset = (op_type == CHCR_ENCRYPT_OP) ? 0 : authsize;
	stop_offset = (op_type == CHCR_ENCRYPT_OP) ? 0 : authsize;


@@ -1779,8 +1776,7 @@ static struct sk_buff *create_aead_ccm_wr(struct aead_request *req,


	skb_reserve(skb, sizeof(struct sge_opaque_hdr));
	skb_reserve(skb, sizeof(struct sge_opaque_hdr));


	chcr_req = __skb_put(skb, transhdr_len);
	chcr_req = __skb_put_zero(skb, transhdr_len);
	memset(chcr_req, 0, transhdr_len);


	fill_sec_cpl_for_aead(&chcr_req->sec_cpl, dst_size, req, op_type, ctx);
	fill_sec_cpl_for_aead(&chcr_req->sec_cpl, dst_size, req, op_type, ctx);


@@ -1892,8 +1888,7 @@ static struct sk_buff *create_gcm_wr(struct aead_request *req,
	/* NIC driver is going to write the sge hdr. */
	/* NIC driver is going to write the sge hdr. */
	skb_reserve(skb, sizeof(struct sge_opaque_hdr));
	skb_reserve(skb, sizeof(struct sge_opaque_hdr));


	chcr_req = __skb_put(skb, transhdr_len);
	chcr_req = __skb_put_zero(skb, transhdr_len);
	memset(chcr_req, 0, transhdr_len);


	if (get_aead_subtype(tfm) == CRYPTO_ALG_SUB_TYPE_AEAD_RFC4106)
	if (get_aead_subtype(tfm) == CRYPTO_ALG_SUB_TYPE_AEAD_RFC4106)
		req->assoclen -= 8;
		req->assoclen -= 8;
+2 −4
Original line number Original line Diff line number Diff line
@@ -1900,8 +1900,7 @@ static int send_fw_act_open_req(struct c4iw_ep *ep, unsigned int atid)
	int win;
	int win;


	skb = get_skb(NULL, sizeof(*req), GFP_KERNEL);
	skb = get_skb(NULL, sizeof(*req), GFP_KERNEL);
	req = __skb_put(skb, sizeof(*req));
	req = __skb_put_zero(skb, sizeof(*req));
	memset(req, 0, sizeof(*req));
	req->op_compl = htonl(WR_OP_V(FW_OFLD_CONNECTION_WR));
	req->op_compl = htonl(WR_OP_V(FW_OFLD_CONNECTION_WR));
	req->len16_pkd = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(sizeof(*req), 16)));
	req->len16_pkd = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(sizeof(*req), 16)));
	req->le.filter = cpu_to_be32(cxgb4_select_ntuple(
	req->le.filter = cpu_to_be32(cxgb4_select_ntuple(
@@ -3803,8 +3802,7 @@ static void send_fw_pass_open_req(struct c4iw_dev *dev, struct sk_buff *skb,
	req_skb = alloc_skb(sizeof(struct fw_ofld_connection_wr), GFP_KERNEL);
	req_skb = alloc_skb(sizeof(struct fw_ofld_connection_wr), GFP_KERNEL);
	if (!req_skb)
	if (!req_skb)
		return;
		return;
	req = __skb_put(req_skb, sizeof(*req));
	req = __skb_put_zero(req_skb, sizeof(*req));
	memset(req, 0, sizeof(*req));
	req->op_compl = htonl(WR_OP_V(FW_OFLD_CONNECTION_WR) | FW_WR_COMPL_F);
	req->op_compl = htonl(WR_OP_V(FW_OFLD_CONNECTION_WR) | FW_WR_COMPL_F);
	req->len16_pkd = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(sizeof(*req), 16)));
	req->len16_pkd = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(sizeof(*req), 16)));
	req->le.version_cpl = htonl(FW_OFLD_CONNECTION_WR_CPL_F);
	req->le.version_cpl = htonl(FW_OFLD_CONNECTION_WR_CPL_F);
+2 −4
Original line number Original line Diff line number Diff line
@@ -44,8 +44,7 @@ static int destroy_cq(struct c4iw_rdev *rdev, struct t4_cq *cq,
	wr_len = sizeof *res_wr + sizeof *res;
	wr_len = sizeof *res_wr + sizeof *res;
	set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);
	set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);


	res_wr = __skb_put(skb, wr_len);
	res_wr = __skb_put_zero(skb, wr_len);
	memset(res_wr, 0, wr_len);
	res_wr->op_nres = cpu_to_be32(
	res_wr->op_nres = cpu_to_be32(
			FW_WR_OP_V(FW_RI_RES_WR) |
			FW_WR_OP_V(FW_RI_RES_WR) |
			FW_RI_RES_WR_NRES_V(1) |
			FW_RI_RES_WR_NRES_V(1) |
@@ -114,8 +113,7 @@ static int create_cq(struct c4iw_rdev *rdev, struct t4_cq *cq,
	}
	}
	set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);
	set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);


	res_wr = __skb_put(skb, wr_len);
	res_wr = __skb_put_zero(skb, wr_len);
	memset(res_wr, 0, wr_len);
	res_wr->op_nres = cpu_to_be32(
	res_wr->op_nres = cpu_to_be32(
			FW_WR_OP_V(FW_RI_RES_WR) |
			FW_WR_OP_V(FW_RI_RES_WR) |
			FW_RI_RES_WR_NRES_V(1) |
			FW_RI_RES_WR_NRES_V(1) |
+2 −4
Original line number Original line Diff line number Diff line
@@ -81,8 +81,7 @@ static int _c4iw_write_mem_dma_aligned(struct c4iw_rdev *rdev, u32 addr,
	}
	}
	set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);
	set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);


	req = __skb_put(skb, wr_len);
	req = __skb_put_zero(skb, wr_len);
	memset(req, 0, wr_len);
	INIT_ULPTX_WR(req, wr_len, 0, 0);
	INIT_ULPTX_WR(req, wr_len, 0, 0);
	req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR) |
	req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR) |
			(wait ? FW_WR_COMPL_F : 0));
			(wait ? FW_WR_COMPL_F : 0));
@@ -142,8 +141,7 @@ static int _c4iw_write_mem_inline(struct c4iw_rdev *rdev, u32 addr, u32 len,
		}
		}
		set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);
		set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);


		req = __skb_put(skb, wr_len);
		req = __skb_put_zero(skb, wr_len);
		memset(req, 0, wr_len);
		INIT_ULPTX_WR(req, wr_len, 0, 0);
		INIT_ULPTX_WR(req, wr_len, 0, 0);


		if (i == (num_wqe-1)) {
		if (i == (num_wqe-1)) {
+1 −2
Original line number Original line Diff line number Diff line
@@ -293,8 +293,7 @@ static int create_qp(struct c4iw_rdev *rdev, struct t4_wq *wq,
	}
	}
	set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);
	set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0);


	res_wr = __skb_put(skb, wr_len);
	res_wr = __skb_put_zero(skb, wr_len);
	memset(res_wr, 0, wr_len);
	res_wr->op_nres = cpu_to_be32(
	res_wr->op_nres = cpu_to_be32(
			FW_WR_OP_V(FW_RI_RES_WR) |
			FW_WR_OP_V(FW_RI_RES_WR) |
			FW_RI_RES_WR_NRES_V(2) |
			FW_RI_RES_WR_NRES_V(2) |
Loading