summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryuan linyu <Linyu.Yuan@alcatel-sbell.com.cn>2017-06-18 10:52:04 -0400
committerDavid S. Miller <davem@davemloft.net>2017-06-20 13:30:15 -0400
commitb952f4dff2751252db073c27c0f8a16a416a2ddc (patch)
treefda132505741ee4d859ae09f45966656ea557572
parentad941e693b24ad8b13c28382d323552ef6fb434b (diff)
net: manual clean code which call skb_put_[data:zero]
Signed-off-by: yuan linyu <Linyu.Yuan@alcatel-sbell.com.cn> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/isdn/hysdn/hycapi.c8
-rw-r--r--drivers/isdn/i4l/isdn_bsdcomp.c2
-rw-r--r--drivers/isdn/i4l/isdn_ppp.c2
-rw-r--r--drivers/net/bonding/bond_alb.c3
-rw-r--r--drivers/net/caif/caif_hsi.c6
-rw-r--r--drivers/net/caif/caif_serial.c3
-rw-r--r--drivers/net/caif/caif_spi.c3
-rw-r--r--drivers/net/ethernet/nxp/lpc_eth.c7
-rw-r--r--drivers/net/ethernet/packetengines/hamachi.c4
-rw-r--r--drivers/net/ppp/ppp_synctty.c2
-rw-r--r--drivers/net/usb/asix_common.c5
-rw-r--r--drivers/net/usb/hso.c13
-rw-r--r--drivers/net/wireless/ath/ath9k/wmi.c3
-rw-r--r--drivers/net/wireless/marvell/libertas/if_sdio.c3
-rw-r--r--drivers/net/wireless/quantenna/qtnfmac/qlink_util.h4
-rw-r--r--drivers/net/wireless/realtek/rtlwifi/pci.c3
-rw-r--r--drivers/net/wireless/rsi/rsi_91x_mgmt.c10
-rw-r--r--drivers/net/wireless/ti/wlcore/rx.c3
-rw-r--r--drivers/nfc/pn533/pn533.c4
-rw-r--r--drivers/staging/rtl8188eu/core/rtw_recv.c4
-rw-r--r--drivers/staging/rtl8192e/rtllib_rx.c5
-rw-r--r--drivers/staging/rtl8192e/rtllib_softmac.c11
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c4
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c11
-rw-r--r--drivers/staging/rtl8192u/r819xU_cmdpkt.c3
-rw-r--r--drivers/staging/rtl8712/rtl8712_recv.c4
-rw-r--r--drivers/staging/rtl8723bs/os_dep/recv_linux.c4
-rw-r--r--drivers/staging/wlan-ng/hfa384x_usb.c2
-rw-r--r--drivers/usb/gadget/function/f_ncm.c11
-rw-r--r--lib/nlattr.c6
-rw-r--r--net/bridge/netfilter/nft_reject_bridge.c6
-rw-r--r--net/dsa/tag_trailer.c3
-rw-r--r--net/hsr/hsr_device.c6
-rw-r--r--net/irda/irlap_frame.c5
-rw-r--r--net/mac80211/mlme.c12
-rw-r--r--net/mac80211/tdls.c19
-rw-r--r--net/sctp/sm_make_chunk.c3
-rw-r--r--net/vmw_vsock/virtio_transport_common.c5
-rw-r--r--net/x25/x25_subr.c16
39 files changed, 93 insertions, 135 deletions
diff --git a/drivers/isdn/hysdn/hycapi.c b/drivers/isdn/hysdn/hycapi.c
index 87119b517508..eac0f51a0f60 100644
--- a/drivers/isdn/hysdn/hycapi.c
+++ b/drivers/isdn/hysdn/hycapi.c
@@ -173,8 +173,8 @@ hycapi_register_internal(struct capi_ctr *ctrl, __u16 appl,
173 } 173 }
174 skb_put_data(skb, &len, sizeof(__u16)); 174 skb_put_data(skb, &len, sizeof(__u16));
175 skb_put_data(skb, &appl, sizeof(__u16)); 175 skb_put_data(skb, &appl, sizeof(__u16));
176 memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command)); 176 skb_put_data(skb, &_command, sizeof(__u8));
177 memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand)); 177 skb_put_data(skb, &_subcommand, sizeof(__u8));
178 skb_put_data(skb, &MessageNumber, sizeof(__u16)); 178 skb_put_data(skb, &MessageNumber, sizeof(__u16));
179 skb_put_data(skb, &MessageBufferSize, sizeof(__u16)); 179 skb_put_data(skb, &MessageBufferSize, sizeof(__u16));
180 skb_put_data(skb, &(rp->level3cnt), sizeof(__u16)); 180 skb_put_data(skb, &(rp->level3cnt), sizeof(__u16));
@@ -281,8 +281,8 @@ static void hycapi_release_internal(struct capi_ctr *ctrl, __u16 appl)
281 } 281 }
282 skb_put_data(skb, &len, sizeof(__u16)); 282 skb_put_data(skb, &len, sizeof(__u16));
283 skb_put_data(skb, &appl, sizeof(__u16)); 283 skb_put_data(skb, &appl, sizeof(__u16));
284 memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command)); 284 skb_put_data(skb, &_command, sizeof(__u8));
285 memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand)); 285 skb_put_data(skb, &_subcommand, sizeof(__u8));
286 skb_put_data(skb, &MessageNumber, sizeof(__u16)); 286 skb_put_data(skb, &MessageNumber, sizeof(__u16));
287 hycapi_send_message(ctrl, skb); 287 hycapi_send_message(ctrl, skb);
288 hycapi_applications[appl - 1].ctrl_mask &= ~(1 << (ctrl->cnr - 1)); 288 hycapi_applications[appl - 1].ctrl_mask &= ~(1 << (ctrl->cnr - 1));
diff --git a/drivers/isdn/i4l/isdn_bsdcomp.c b/drivers/isdn/i4l/isdn_bsdcomp.c
index 3035210a6119..5b64a1389a7c 100644
--- a/drivers/isdn/i4l/isdn_bsdcomp.c
+++ b/drivers/isdn/i4l/isdn_bsdcomp.c
@@ -472,7 +472,7 @@ static int bsd_compress(void *state, struct sk_buff *skb_in, struct sk_buff *skb
472 accm |= ((ent) << bitno); \ 472 accm |= ((ent) << bitno); \
473 do { \ 473 do { \
474 if (skb_out && skb_tailroom(skb_out) > 0) \ 474 if (skb_out && skb_tailroom(skb_out) > 0) \
475 *(u8 *)skb_put(skb_out, 1) = (u8)(accm >> 24); \ 475 skb_put(skb_out, (u8)(accm >> 24)); \
476 accm <<= 8; \ 476 accm <<= 8; \
477 bitno += 8; \ 477 bitno += 8; \
478 } while (bitno <= 24); \ 478 } while (bitno <= 24); \
diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c
index b7e3f1cde683..88e5a025cea7 100644
--- a/drivers/isdn/i4l/isdn_ppp.c
+++ b/drivers/isdn/i4l/isdn_ppp.c
@@ -2258,7 +2258,7 @@ static void isdn_ppp_ccp_xmit_reset(struct ippp_struct *is, int proto,
2258 2258
2259 /* Now stuff remaining bytes */ 2259 /* Now stuff remaining bytes */
2260 if (len) { 2260 if (len) {
2261 p = skb_put_data(skb, data, len); 2261 skb_put_data(skb, data, len);
2262 } 2262 }
2263 2263
2264 /* skb is now ready for xmit */ 2264 /* skb is now ready for xmit */
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index b796db7dd621..c02cc817a490 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -925,7 +925,6 @@ static void alb_send_lp_vid(struct slave *slave, u8 mac_addr[],
925 struct learning_pkt pkt; 925 struct learning_pkt pkt;
926 struct sk_buff *skb; 926 struct sk_buff *skb;
927 int size = sizeof(struct learning_pkt); 927 int size = sizeof(struct learning_pkt);
928 char *data;
929 928
930 memset(&pkt, 0, size); 929 memset(&pkt, 0, size);
931 ether_addr_copy(pkt.mac_dst, mac_addr); 930 ether_addr_copy(pkt.mac_dst, mac_addr);
@@ -936,7 +935,7 @@ static void alb_send_lp_vid(struct slave *slave, u8 mac_addr[],
936 if (!skb) 935 if (!skb)
937 return; 936 return;
938 937
939 data = skb_put_data(skb, &pkt, size); 938 skb_put_data(skb, &pkt, size);
940 939
941 skb_reset_mac_header(skb); 940 skb_reset_mac_header(skb);
942 skb->network_header = skb->mac_header + ETH_HLEN; 941 skb->network_header = skb->mac_header + ETH_HLEN;
diff --git a/drivers/net/caif/caif_hsi.c b/drivers/net/caif/caif_hsi.c
index 4534326e20ac..11ba6e3eea22 100644
--- a/drivers/net/caif/caif_hsi.c
+++ b/drivers/net/caif/caif_hsi.c
@@ -426,7 +426,6 @@ static int cfhsi_rx_desc(struct cfhsi_desc *desc, struct cfhsi *cfhsi)
426 /* Check for embedded CAIF frame. */ 426 /* Check for embedded CAIF frame. */
427 if (desc->offset) { 427 if (desc->offset) {
428 struct sk_buff *skb; 428 struct sk_buff *skb;
429 u8 *dst = NULL;
430 int len = 0; 429 int len = 0;
431 pfrm = ((u8 *)desc) + desc->offset; 430 pfrm = ((u8 *)desc) + desc->offset;
432 431
@@ -454,7 +453,7 @@ static int cfhsi_rx_desc(struct cfhsi_desc *desc, struct cfhsi *cfhsi)
454 } 453 }
455 caif_assert(skb != NULL); 454 caif_assert(skb != NULL);
456 455
457 dst = skb_put_data(skb, pfrm, len); 456 skb_put_data(skb, pfrm, len);
458 457
459 skb->protocol = htons(ETH_P_CAIF); 458 skb->protocol = htons(ETH_P_CAIF);
460 skb_reset_mac_header(skb); 459 skb_reset_mac_header(skb);
@@ -555,7 +554,6 @@ static int cfhsi_rx_pld(struct cfhsi_desc *desc, struct cfhsi *cfhsi)
555 /* Parse payload. */ 554 /* Parse payload. */
556 while (nfrms < CFHSI_MAX_PKTS && *plen) { 555 while (nfrms < CFHSI_MAX_PKTS && *plen) {
557 struct sk_buff *skb; 556 struct sk_buff *skb;
558 u8 *dst = NULL;
559 u8 *pcffrm = NULL; 557 u8 *pcffrm = NULL;
560 int len; 558 int len;
561 559
@@ -584,7 +582,7 @@ static int cfhsi_rx_pld(struct cfhsi_desc *desc, struct cfhsi *cfhsi)
584 } 582 }
585 caif_assert(skb != NULL); 583 caif_assert(skb != NULL);
586 584
587 dst = skb_put_data(skb, pcffrm, len); 585 skb_put_data(skb, pcffrm, len);
588 586
589 skb->protocol = htons(ETH_P_CAIF); 587 skb->protocol = htons(ETH_P_CAIF);
590 skb_reset_mac_header(skb); 588 skb_reset_mac_header(skb);
diff --git a/drivers/net/caif/caif_serial.c b/drivers/net/caif/caif_serial.c
index 5c57be2082ba..709838e4c062 100644
--- a/drivers/net/caif/caif_serial.c
+++ b/drivers/net/caif/caif_serial.c
@@ -171,7 +171,6 @@ static void ldisc_receive(struct tty_struct *tty, const u8 *data,
171 struct sk_buff *skb = NULL; 171 struct sk_buff *skb = NULL;
172 struct ser_device *ser; 172 struct ser_device *ser;
173 int ret; 173 int ret;
174 u8 *p;
175 174
176 ser = tty->disc_data; 175 ser = tty->disc_data;
177 176
@@ -198,7 +197,7 @@ static void ldisc_receive(struct tty_struct *tty, const u8 *data,
198 skb = netdev_alloc_skb(ser->dev, count+1); 197 skb = netdev_alloc_skb(ser->dev, count+1);
199 if (skb == NULL) 198 if (skb == NULL)
200 return; 199 return;
201 p = skb_put_data(skb, data, count); 200 skb_put_data(skb, data, count);
202 201
203 skb->protocol = htons(ETH_P_CAIF); 202 skb->protocol = htons(ETH_P_CAIF);
204 skb_reset_mac_header(skb); 203 skb_reset_mac_header(skb);
diff --git a/drivers/net/caif/caif_spi.c b/drivers/net/caif/caif_spi.c
index 24a5f5ca2037..207cb8423de0 100644
--- a/drivers/net/caif/caif_spi.c
+++ b/drivers/net/caif/caif_spi.c
@@ -526,7 +526,6 @@ int cfspi_rxfrm(struct cfspi *cfspi, u8 *buf, size_t len)
526 struct sk_buff *skb = NULL; 526 struct sk_buff *skb = NULL;
527 int spad = 0; 527 int spad = 0;
528 int epad = 0; 528 int epad = 0;
529 u8 *dst = NULL;
530 int pkt_len = 0; 529 int pkt_len = 0;
531 530
532 /* 531 /*
@@ -548,7 +547,7 @@ int cfspi_rxfrm(struct cfspi *cfspi, u8 *buf, size_t len)
548 skb = netdev_alloc_skb(cfspi->ndev, pkt_len + 1); 547 skb = netdev_alloc_skb(cfspi->ndev, pkt_len + 1);
549 caif_assert(skb != NULL); 548 caif_assert(skb != NULL);
550 549
551 dst = skb_put_data(skb, src, pkt_len); 550 skb_put_data(skb, src, pkt_len);
552 src += pkt_len; 551 src += pkt_len;
553 552
554 skb->protocol = htons(ETH_P_CAIF); 553 skb->protocol = htons(ETH_P_CAIF);
diff --git a/drivers/net/ethernet/nxp/lpc_eth.c b/drivers/net/ethernet/nxp/lpc_eth.c
index 828bfd93cb54..08381ef8bdb4 100644
--- a/drivers/net/ethernet/nxp/lpc_eth.c
+++ b/drivers/net/ethernet/nxp/lpc_eth.c
@@ -919,7 +919,6 @@ static int __lpc_handle_recv(struct net_device *ndev, int budget)
919 struct sk_buff *skb; 919 struct sk_buff *skb;
920 u32 rxconsidx, len, ethst; 920 u32 rxconsidx, len, ethst;
921 struct rx_status_t *prxstat; 921 struct rx_status_t *prxstat;
922 u8 *prdbuf;
923 int rx_done = 0; 922 int rx_done = 0;
924 923
925 /* Get the current RX buffer indexes */ 924 /* Get the current RX buffer indexes */
@@ -960,9 +959,9 @@ static int __lpc_handle_recv(struct net_device *ndev, int budget)
960 ndev->stats.rx_dropped++; 959 ndev->stats.rx_dropped++;
961 } else { 960 } else {
962 /* Copy packet from buffer */ 961 /* Copy packet from buffer */
963 prdbuf = skb_put_data(skb, 962 skb_put_data(skb,
964 pldat->rx_buff_v + rxconsidx * ENET_MAXF_SIZE, 963 pldat->rx_buff_v + rxconsidx * ENET_MAXF_SIZE,
965 len); 964 len);
966 965
967 /* Pass to upper layer */ 966 /* Pass to upper layer */
968 skb->protocol = eth_type_trans(skb, ndev); 967 skb->protocol = eth_type_trans(skb, ndev);
diff --git a/drivers/net/ethernet/packetengines/hamachi.c b/drivers/net/ethernet/packetengines/hamachi.c
index 8b026dbf0d8d..482b85e4d665 100644
--- a/drivers/net/ethernet/packetengines/hamachi.c
+++ b/drivers/net/ethernet/packetengines/hamachi.c
@@ -1495,8 +1495,8 @@ static int hamachi_rx(struct net_device *dev)
1495 hmp->rx_skbuff[entry]->data, pkt_len); 1495 hmp->rx_skbuff[entry]->data, pkt_len);
1496 skb_put(skb, pkt_len); 1496 skb_put(skb, pkt_len);
1497#else 1497#else
1498 memcpy(skb_put(skb, pkt_len), hmp->rx_ring_dma 1498 skb_put_data(skb, hmp->rx_ring_dma
1499 + entry*sizeof(*desc), pkt_len); 1499 + entry*sizeof(*desc), pkt_len);
1500#endif 1500#endif
1501 pci_dma_sync_single_for_device(hmp->pci_dev, 1501 pci_dma_sync_single_for_device(hmp->pci_dev,
1502 leXX_to_cpu(hmp->rx_ring[entry].addr), 1502 leXX_to_cpu(hmp->rx_ring[entry].addr),
diff --git a/drivers/net/ppp/ppp_synctty.c b/drivers/net/ppp/ppp_synctty.c
index ef08590db873..7868c29071d4 100644
--- a/drivers/net/ppp/ppp_synctty.c
+++ b/drivers/net/ppp/ppp_synctty.c
@@ -697,7 +697,7 @@ ppp_sync_input(struct syncppp *ap, const unsigned char *buf,
697 goto err; 697 goto err;
698 } 698 }
699 699
700 p = skb_put_data(skb, buf, count); 700 skb_put_data(skb, buf, count);
701 701
702 /* strip address/control field if present */ 702 /* strip address/control field if present */
703 p = skb->data; 703 p = skb->data;
diff --git a/drivers/net/usb/asix_common.c b/drivers/net/usb/asix_common.c
index 90facc5ecab0..7847436c441e 100644
--- a/drivers/net/usb/asix_common.c
+++ b/drivers/net/usb/asix_common.c
@@ -113,7 +113,6 @@ int asix_rx_fixup_internal(struct usbnet *dev, struct sk_buff *skb,
113 113
114 while (offset + sizeof(u16) <= skb->len) { 114 while (offset + sizeof(u16) <= skb->len) {
115 u16 copy_length; 115 u16 copy_length;
116 unsigned char *data;
117 116
118 if (!rx->remaining) { 117 if (!rx->remaining) {
119 if (skb->len - offset == sizeof(u16)) { 118 if (skb->len - offset == sizeof(u16)) {
@@ -167,8 +166,8 @@ int asix_rx_fixup_internal(struct usbnet *dev, struct sk_buff *skb,
167 } 166 }
168 167
169 if (rx->ax_skb) { 168 if (rx->ax_skb) {
170 data = skb_put_data(rx->ax_skb, skb->data + offset, 169 skb_put_data(rx->ax_skb, skb->data + offset,
171 copy_length); 170 copy_length);
172 if (!rx->remaining) 171 if (!rx->remaining)
173 usbnet_skb_return(dev, rx->ax_skb); 172 usbnet_skb_return(dev, rx->ax_skb);
174 } 173 }
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 908ada4ca21c..d7a3379ea668 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -861,7 +861,6 @@ static void packetizeRx(struct hso_net *odev, unsigned char *ip_pkt,
861 unsigned short temp_bytes; 861 unsigned short temp_bytes;
862 unsigned short buffer_offset = 0; 862 unsigned short buffer_offset = 0;
863 unsigned short frame_len; 863 unsigned short frame_len;
864 unsigned char *tmp_rx_buf;
865 864
866 /* log if needed */ 865 /* log if needed */
867 hso_dbg(0x1, "Rx %d bytes\n", count); 866 hso_dbg(0x1, "Rx %d bytes\n", count);
@@ -911,9 +910,9 @@ static void packetizeRx(struct hso_net *odev, unsigned char *ip_pkt,
911 910
912 /* Copy what we got so far. make room for iphdr 911 /* Copy what we got so far. make room for iphdr
913 * after tail. */ 912 * after tail. */
914 tmp_rx_buf = skb_put_data(odev->skb_rx_buf, 913 skb_put_data(odev->skb_rx_buf,
915 (char *)&(odev->rx_ip_hdr), 914 (char *)&(odev->rx_ip_hdr),
916 sizeof(struct iphdr)); 915 sizeof(struct iphdr));
917 916
918 /* ETH_HLEN */ 917 /* ETH_HLEN */
919 odev->rx_buf_size = sizeof(struct iphdr); 918 odev->rx_buf_size = sizeof(struct iphdr);
@@ -932,9 +931,9 @@ static void packetizeRx(struct hso_net *odev, unsigned char *ip_pkt,
932 /* Copy the rest of the bytes that are left in the 931 /* Copy the rest of the bytes that are left in the
933 * buffer into the waiting sk_buf. */ 932 * buffer into the waiting sk_buf. */
934 /* Make room for temp_bytes after tail. */ 933 /* Make room for temp_bytes after tail. */
935 tmp_rx_buf = skb_put_data(odev->skb_rx_buf, 934 skb_put_data(odev->skb_rx_buf,
936 ip_pkt + buffer_offset, 935 ip_pkt + buffer_offset,
937 temp_bytes); 936 temp_bytes);
938 937
939 odev->rx_buf_missing -= temp_bytes; 938 odev->rx_buf_missing -= temp_bytes;
940 count -= temp_bytes; 939 count -= temp_bytes;
diff --git a/drivers/net/wireless/ath/ath9k/wmi.c b/drivers/net/wireless/ath/ath9k/wmi.c
index 85d09fdef8dc..64a354fa78ab 100644
--- a/drivers/net/wireless/ath/ath9k/wmi.c
+++ b/drivers/net/wireless/ath/ath9k/wmi.c
@@ -298,7 +298,6 @@ int ath9k_wmi_cmd(struct wmi *wmi, enum wmi_cmd_id cmd_id,
298 u16 headroom = sizeof(struct htc_frame_hdr) + 298 u16 headroom = sizeof(struct htc_frame_hdr) +
299 sizeof(struct wmi_cmd_hdr); 299 sizeof(struct wmi_cmd_hdr);
300 struct sk_buff *skb; 300 struct sk_buff *skb;
301 u8 *data;
302 unsigned long time_left; 301 unsigned long time_left;
303 int ret = 0; 302 int ret = 0;
304 303
@@ -312,7 +311,7 @@ int ath9k_wmi_cmd(struct wmi *wmi, enum wmi_cmd_id cmd_id,
312 skb_reserve(skb, headroom); 311 skb_reserve(skb, headroom);
313 312
314 if (cmd_len != 0 && cmd_buf != NULL) { 313 if (cmd_len != 0 && cmd_buf != NULL) {
315 data = skb_put_data(skb, cmd_buf, cmd_len); 314 skb_put_data(skb, cmd_buf, cmd_len);
316 } 315 }
317 316
318 mutex_lock(&wmi->op_mutex); 317 mutex_lock(&wmi->op_mutex);
diff --git a/drivers/net/wireless/marvell/libertas/if_sdio.c b/drivers/net/wireless/marvell/libertas/if_sdio.c
index a9e2b06b3175..2300e796c6ab 100644
--- a/drivers/net/wireless/marvell/libertas/if_sdio.c
+++ b/drivers/net/wireless/marvell/libertas/if_sdio.c
@@ -239,7 +239,6 @@ static int if_sdio_handle_data(struct if_sdio_card *card,
239{ 239{
240 int ret; 240 int ret;
241 struct sk_buff *skb; 241 struct sk_buff *skb;
242 char *data;
243 242
244 if (size > MRVDRV_ETH_RX_PACKET_BUFFER_SIZE) { 243 if (size > MRVDRV_ETH_RX_PACKET_BUFFER_SIZE) {
245 lbs_deb_sdio("response packet too large (%d bytes)\n", 244 lbs_deb_sdio("response packet too large (%d bytes)\n",
@@ -256,7 +255,7 @@ static int if_sdio_handle_data(struct if_sdio_card *card,
256 255
257 skb_reserve(skb, NET_IP_ALIGN); 256 skb_reserve(skb, NET_IP_ALIGN);
258 257
259 data = skb_put_data(skb, buffer, size); 258 skb_put_data(skb, buffer, size);
260 259
261 lbs_process_rxed_packet(card->priv, skb); 260 lbs_process_rxed_packet(card->priv, skb);
262 261
diff --git a/drivers/net/wireless/quantenna/qtnfmac/qlink_util.h b/drivers/net/wireless/quantenna/qtnfmac/qlink_util.h
index f6ac39973b5d..90d7d09a6c63 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/qlink_util.h
+++ b/drivers/net/wireless/quantenna/qtnfmac/qlink_util.h
@@ -33,9 +33,7 @@ static inline void qtnf_cmd_skb_put_action(struct sk_buff *skb, u16 action)
33static inline void 33static inline void
34qtnf_cmd_skb_put_buffer(struct sk_buff *skb, const u8 *buf_src, size_t len) 34qtnf_cmd_skb_put_buffer(struct sk_buff *skb, const u8 *buf_src, size_t len)
35{ 35{
36 u8 *buf_dst; 36 skb_put_data(skb, buf_src, len);
37
38 buf_dst = skb_put_data(skb, buf_src, len);
39} 37}
40 38
41static inline void qtnf_cmd_skb_put_tlv_arr(struct sk_buff *skb, 39static inline void qtnf_cmd_skb_put_tlv_arr(struct sk_buff *skb,
diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
index 0c1f8307e179..df5f6795f650 100644
--- a/drivers/net/wireless/realtek/rtlwifi/pci.c
+++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
@@ -729,13 +729,12 @@ static void _rtl_pci_rx_to_mac80211(struct ieee80211_hw *hw,
729 dev_kfree_skb_any(skb); 729 dev_kfree_skb_any(skb);
730 } else { 730 } else {
731 struct sk_buff *uskb = NULL; 731 struct sk_buff *uskb = NULL;
732 u8 *pdata;
733 732
734 uskb = dev_alloc_skb(skb->len + 128); 733 uskb = dev_alloc_skb(skb->len + 128);
735 if (likely(uskb)) { 734 if (likely(uskb)) {
736 memcpy(IEEE80211_SKB_RXCB(uskb), &rx_status, 735 memcpy(IEEE80211_SKB_RXCB(uskb), &rx_status,
737 sizeof(rx_status)); 736 sizeof(rx_status));
738 pdata = skb_put_data(uskb, skb->data, skb->len); 737 skb_put_data(uskb, skb->data, skb->len);
739 dev_kfree_skb_any(skb); 738 dev_kfree_skb_any(skb);
740 ieee80211_rx_irqsafe(hw, uskb); 739 ieee80211_rx_irqsafe(hw, uskb);
741 } else { 740 } else {
diff --git a/drivers/net/wireless/rsi/rsi_91x_mgmt.c b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
index 4433cec4367c..a0f04371d93b 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mgmt.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
@@ -389,9 +389,7 @@ static int rsi_mgmt_pkt_to_core(struct rsi_common *common,
389 struct ieee80211_tx_info *info; 389 struct ieee80211_tx_info *info;
390 struct skb_info *rx_params; 390 struct skb_info *rx_params;
391 u8 pad_bytes = msg[4]; 391 u8 pad_bytes = msg[4];
392 u8 pkt_recv;
393 struct sk_buff *skb; 392 struct sk_buff *skb;
394 char *buffer;
395 393
396 if (type == RX_DOT11_MGMT) { 394 if (type == RX_DOT11_MGMT) {
397 if (!adapter->sc_nvifs) 395 if (!adapter->sc_nvifs)
@@ -412,11 +410,9 @@ static int rsi_mgmt_pkt_to_core(struct rsi_common *common,
412 return -ENOMEM; 410 return -ENOMEM;
413 } 411 }
414 412
415 buffer = skb_put_data(skb, 413 skb_put_data(skb,
416 (u8 *)(msg + FRAME_DESC_SZ + pad_bytes), 414 (u8 *)(msg + FRAME_DESC_SZ + pad_bytes),
417 msg_len); 415 msg_len);
418
419 pkt_recv = buffer[0];
420 416
421 info = IEEE80211_SKB_CB(skb); 417 info = IEEE80211_SKB_CB(skb);
422 rx_params = (struct skb_info *)info->driver_data; 418 rx_params = (struct skb_info *)info->driver_data;
diff --git a/drivers/net/wireless/ti/wlcore/rx.c b/drivers/net/wireless/ti/wlcore/rx.c
index 53cd6d4d5b50..0f15696195f8 100644
--- a/drivers/net/wireless/ti/wlcore/rx.c
+++ b/drivers/net/wireless/ti/wlcore/rx.c
@@ -117,7 +117,6 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length,
117 struct wl1271_rx_descriptor *desc; 117 struct wl1271_rx_descriptor *desc;
118 struct sk_buff *skb; 118 struct sk_buff *skb;
119 struct ieee80211_hdr *hdr; 119 struct ieee80211_hdr *hdr;
120 u8 *buf;
121 u8 beacon = 0; 120 u8 beacon = 0;
122 u8 is_data = 0; 121 u8 is_data = 0;
123 u8 reserved = 0, offset_to_data = 0; 122 u8 reserved = 0, offset_to_data = 0;
@@ -180,7 +179,7 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length,
180 * packets copy the packets in offset of 2 bytes guarantee IP header 179 * packets copy the packets in offset of 2 bytes guarantee IP header
181 * payload aligned to 4 bytes. 180 * payload aligned to 4 bytes.
182 */ 181 */
183 buf = skb_put_data(skb, data + sizeof(*desc), pkt_data_len); 182 skb_put_data(skb, data + sizeof(*desc), pkt_data_len);
184 if (rx_align == WLCORE_RX_BUF_PADDED) 183 if (rx_align == WLCORE_RX_BUF_PADDED)
185 skb_pull(skb, RX_BUF_ALIGN); 184 skb_pull(skb, RX_BUF_ALIGN);
186 185
diff --git a/drivers/nfc/pn533/pn533.c b/drivers/nfc/pn533/pn533.c
index c8a8f5badb5b..c05cb637ba92 100644
--- a/drivers/nfc/pn533/pn533.c
+++ b/drivers/nfc/pn533/pn533.c
@@ -1006,7 +1006,7 @@ static int pn533_start_poll_complete(struct pn533 *dev, struct sk_buff *resp)
1006static struct sk_buff *pn533_alloc_poll_tg_frame(struct pn533 *dev) 1006static struct sk_buff *pn533_alloc_poll_tg_frame(struct pn533 *dev)
1007{ 1007{
1008 struct sk_buff *skb; 1008 struct sk_buff *skb;
1009 u8 *felica, *nfcid3, *gb; 1009 u8 *felica, *nfcid3;
1010 1010
1011 u8 *gbytes = dev->gb; 1011 u8 *gbytes = dev->gb;
1012 size_t gbytes_len = dev->gb_len; 1012 size_t gbytes_len = dev->gb_len;
@@ -1048,7 +1048,7 @@ static struct sk_buff *pn533_alloc_poll_tg_frame(struct pn533 *dev)
1048 /* General bytes */ 1048 /* General bytes */
1049 skb_put_u8(skb, gbytes_len); 1049 skb_put_u8(skb, gbytes_len);
1050 1050
1051 gb = skb_put_data(skb, gbytes, gbytes_len); 1051 skb_put_data(skb, gbytes, gbytes_len);
1052 1052
1053 /* Len Tk */ 1053 /* Len Tk */
1054 skb_put_u8(skb, 0); 1054 skb_put_u8(skb, 0);
diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c b/drivers/staging/rtl8188eu/core/rtw_recv.c
index 14173cf6e1e7..afb9dadc1cfe 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1510,7 +1510,6 @@ static int amsdu_to_msdu(struct adapter *padapter, struct recv_frame *prframe)
1510 u8 nr_subframes, i; 1510 u8 nr_subframes, i;
1511 unsigned char *pdata; 1511 unsigned char *pdata;
1512 struct rx_pkt_attrib *pattrib; 1512 struct rx_pkt_attrib *pattrib;
1513 unsigned char *data_ptr;
1514 struct sk_buff *sub_skb, *subframes[MAX_SUBFRAME_COUNT]; 1513 struct sk_buff *sub_skb, *subframes[MAX_SUBFRAME_COUNT];
1515 struct recv_priv *precvpriv = &padapter->recvpriv; 1514 struct recv_priv *precvpriv = &padapter->recvpriv;
1516 struct __queue *pfree_recv_queue = &(precvpriv->free_recv_queue); 1515 struct __queue *pfree_recv_queue = &(precvpriv->free_recv_queue);
@@ -1544,8 +1543,7 @@ static int amsdu_to_msdu(struct adapter *padapter, struct recv_frame *prframe)
1544 sub_skb = dev_alloc_skb(nSubframe_Length + 12); 1543 sub_skb = dev_alloc_skb(nSubframe_Length + 12);
1545 if (sub_skb) { 1544 if (sub_skb) {
1546 skb_reserve(sub_skb, 12); 1545 skb_reserve(sub_skb, 12);
1547 data_ptr = skb_put_data(sub_skb, pdata, 1546 skb_put_data(sub_skb, pdata, nSubframe_Length);
1548 nSubframe_Length);
1549 } else { 1547 } else {
1550 sub_skb = skb_clone(prframe->pkt, GFP_ATOMIC); 1548 sub_skb = skb_clone(prframe->pkt, GFP_ATOMIC);
1551 if (sub_skb) { 1549 if (sub_skb) {
diff --git a/drivers/staging/rtl8192e/rtllib_rx.c b/drivers/staging/rtl8192e/rtllib_rx.c
index bae98ca0a9b6..03a81ba136b2 100644
--- a/drivers/staging/rtl8192e/rtllib_rx.c
+++ b/drivers/staging/rtl8192e/rtllib_rx.c
@@ -782,7 +782,6 @@ static u8 parse_subframe(struct rtllib_device *ieee, struct sk_buff *skb,
782 u8 nPadding_Length = 0; 782 u8 nPadding_Length = 0;
783 u16 SeqNum = 0; 783 u16 SeqNum = 0;
784 struct sk_buff *sub_skb; 784 struct sk_buff *sub_skb;
785 u8 *data_ptr;
786 /* just for debug purpose */ 785 /* just for debug purpose */
787 SeqNum = WLAN_GET_SEQ_SEQ(le16_to_cpu(hdr->seq_ctl)); 786 SeqNum = WLAN_GET_SEQ_SEQ(le16_to_cpu(hdr->seq_ctl));
788 if ((RTLLIB_QOS_HAS_SEQ(fc)) && 787 if ((RTLLIB_QOS_HAS_SEQ(fc)) &&
@@ -817,7 +816,7 @@ static u8 parse_subframe(struct rtllib_device *ieee, struct sk_buff *skb,
817 if (!sub_skb) 816 if (!sub_skb)
818 return 0; 817 return 0;
819 skb_reserve(sub_skb, 12); 818 skb_reserve(sub_skb, 12);
820 data_ptr = skb_put_data(sub_skb, skb->data, skb->len); 819 skb_put_data(sub_skb, skb->data, skb->len);
821 sub_skb->dev = ieee->dev; 820 sub_skb->dev = ieee->dev;
822 821
823 rxb->subframes[0] = sub_skb; 822 rxb->subframes[0] = sub_skb;
@@ -869,7 +868,7 @@ static u8 parse_subframe(struct rtllib_device *ieee, struct sk_buff *skb,
869 if (!sub_skb) 868 if (!sub_skb)
870 return 0; 869 return 0;
871 skb_reserve(sub_skb, 12); 870 skb_reserve(sub_skb, 12);
872 data_ptr = skb_put_data(sub_skb, skb->data, nSubframe_Length); 871 skb_put_data(sub_skb, skb->data, nSubframe_Length);
873 872
874 sub_skb->dev = ieee->dev; 873 sub_skb->dev = ieee->dev;
875 rxb->subframes[rxb->nr_subframes++] = sub_skb; 874 rxb->subframes[rxb->nr_subframes++] = sub_skb;
diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c
index 5f2751d4d464..09d2c8649171 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac.c
@@ -1264,7 +1264,7 @@ rtllib_association_req(struct rtllib_network *beacon,
1264 hdr->info_element[0].id = MFIE_TYPE_SSID; 1264 hdr->info_element[0].id = MFIE_TYPE_SSID;
1265 1265
1266 hdr->info_element[0].len = beacon->ssid_len; 1266 hdr->info_element[0].len = beacon->ssid_len;
1267 tag = skb_put_data(skb, beacon->ssid, beacon->ssid_len); 1267 skb_put_data(skb, beacon->ssid, beacon->ssid_len);
1268 1268
1269 tag = skb_put(skb, rate_len); 1269 tag = skb_put(skb, rate_len);
1270 1270
@@ -1340,7 +1340,7 @@ rtllib_association_req(struct rtllib_network *beacon,
1340 } 1340 }
1341 1341
1342 if (wpa_ie_len) { 1342 if (wpa_ie_len) {
1343 tag = skb_put_data(skb, ieee->wpa_ie, ieee->wpa_ie_len); 1343 skb_put_data(skb, ieee->wpa_ie, ieee->wpa_ie_len);
1344 1344
1345 if (PMKCacheIdx >= 0) { 1345 if (PMKCacheIdx >= 0) {
1346 tag = skb_put(skb, 18); 1346 tag = skb_put(skb, 18);
@@ -1356,12 +1356,13 @@ rtllib_association_req(struct rtllib_network *beacon,
1356 } 1356 }
1357 1357
1358 if (wps_ie_len && ieee->wps_ie) { 1358 if (wps_ie_len && ieee->wps_ie) {
1359 tag = skb_put_data(skb, ieee->wps_ie, wps_ie_len); 1359 skb_put_data(skb, ieee->wps_ie, wps_ie_len);
1360 } 1360 }
1361 1361
1362 tag = skb_put(skb, turbo_info_len); 1362 if (turbo_info_len) {
1363 if (turbo_info_len) 1363 tag = skb_put(skb, turbo_info_len);
1364 rtllib_TURBO_Info(ieee, &tag); 1364 rtllib_TURBO_Info(ieee, &tag);
1365 }
1365 1366
1366 if (ieee->pHTInfo->bCurrentHTSupport && ieee->pHTInfo->bEnableHT) { 1367 if (ieee->pHTInfo->bCurrentHTSupport && ieee->pHTInfo->bEnableHT) {
1367 if (ieee->pHTInfo->ePeerHTSpecVer == HT_SPEC_VER_EWC) { 1368 if (ieee->pHTInfo->ePeerHTSpecVer == HT_SPEC_VER_EWC) {
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
index c0e2f711cb4e..a4aedb489e92 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
@@ -780,7 +780,6 @@ static u8 parse_subframe(struct sk_buff *skb,
780 u16 SeqNum=0; 780 u16 SeqNum=0;
781 781
782 struct sk_buff *sub_skb; 782 struct sk_buff *sub_skb;
783 u8 *data_ptr;
784 /* just for debug purpose */ 783 /* just for debug purpose */
785 SeqNum = WLAN_GET_SEQ_SEQ(le16_to_cpu(hdr->seq_ctl)); 784 SeqNum = WLAN_GET_SEQ_SEQ(le16_to_cpu(hdr->seq_ctl));
786 785
@@ -848,8 +847,7 @@ static u8 parse_subframe(struct sk_buff *skb,
848 if (!sub_skb) 847 if (!sub_skb)
849 return 0; 848 return 0;
850 skb_reserve(sub_skb, 12); 849 skb_reserve(sub_skb, 12);
851 data_ptr = skb_put_data(sub_skb, skb->data, 850 skb_put_data(sub_skb, skb->data, nSubframe_Length);
852 nSubframe_Length);
853#endif 851#endif
854 rxb->subframes[rxb->nr_subframes++] = sub_skb; 852 rxb->subframes[rxb->nr_subframes++] = sub_skb;
855 if (rxb->nr_subframes >= MAX_SUBFRAME_COUNT) { 853 if (rxb->nr_subframes >= MAX_SUBFRAME_COUNT) {
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
index 107069180ed2..fe6f38b7ec35 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
@@ -1112,7 +1112,7 @@ ieee80211_association_req(struct ieee80211_network *beacon,
1112 hdr->info_element[0].id = MFIE_TYPE_SSID; 1112 hdr->info_element[0].id = MFIE_TYPE_SSID;
1113 1113
1114 hdr->info_element[0].len = beacon->ssid_len; 1114 hdr->info_element[0].len = beacon->ssid_len;
1115 tag = skb_put_data(skb, beacon->ssid, beacon->ssid_len); 1115 skb_put_data(skb, beacon->ssid, beacon->ssid_len);
1116 1116
1117 tag = skb_put(skb, rate_len); 1117 tag = skb_put(skb, rate_len);
1118 1118
@@ -1184,18 +1184,17 @@ ieee80211_association_req(struct ieee80211_network *beacon,
1184 1184
1185 1185
1186 //choose what wpa_supplicant gives to associate. 1186 //choose what wpa_supplicant gives to associate.
1187 tag = skb_put(skb, wpa_ie_len);
1188 if (wpa_ie_len) { 1187 if (wpa_ie_len) {
1189 memcpy(tag, ieee->wpa_ie, ieee->wpa_ie_len); 1188 skb_put_data(skb, ieee->wpa_ie, wpa_ie_len);
1190 } 1189 }
1191 1190
1192 tag = skb_put(skb, wmm_info_len);
1193 if (wmm_info_len) { 1191 if (wmm_info_len) {
1194 ieee80211_WMM_Info(ieee, &tag); 1192 tag = skb_put(skb, wmm_info_len);
1193 ieee80211_WMM_Info(ieee, &tag);
1195 } 1194 }
1196#ifdef THOMAS_TURBO 1195#ifdef THOMAS_TURBO
1197 tag = skb_put(skb, turbo_info_len);
1198 if (turbo_info_len) { 1196 if (turbo_info_len) {
1197 tag = skb_put(skb, turbo_info_len);
1199 ieee80211_TURBO_Info(ieee, &tag); 1198 ieee80211_TURBO_Info(ieee, &tag);
1200 } 1199 }
1201#endif 1200#endif
diff --git a/drivers/staging/rtl8192u/r819xU_cmdpkt.c b/drivers/staging/rtl8192u/r819xU_cmdpkt.c
index c3cf01c842a3..87ab3ba760fc 100644
--- a/drivers/staging/rtl8192u/r819xU_cmdpkt.c
+++ b/drivers/staging/rtl8192u/r819xU_cmdpkt.c
@@ -31,7 +31,6 @@ rt_status SendTxCommandPacket(struct net_device *dev, void *pData, u32 DataLen)
31 struct r8192_priv *priv = ieee80211_priv(dev); 31 struct r8192_priv *priv = ieee80211_priv(dev);
32 struct sk_buff *skb; 32 struct sk_buff *skb;
33 struct cb_desc *tcb_desc; 33 struct cb_desc *tcb_desc;
34 unsigned char *ptr_buf;
35 34
36 /* Get TCB and local buffer from common pool. 35 /* Get TCB and local buffer from common pool.
37 * (It is shared by CmdQ, MgntQ, and USB coalesce DataQ) 36 * (It is shared by CmdQ, MgntQ, and USB coalesce DataQ)
@@ -45,7 +44,7 @@ rt_status SendTxCommandPacket(struct net_device *dev, void *pData, u32 DataLen)
45 tcb_desc->bCmdOrInit = DESC_PACKET_TYPE_NORMAL; 44 tcb_desc->bCmdOrInit = DESC_PACKET_TYPE_NORMAL;
46 tcb_desc->bLastIniPkt = 0; 45 tcb_desc->bLastIniPkt = 0;
47 skb_reserve(skb, USB_HWDESC_HEADER_LEN); 46 skb_reserve(skb, USB_HWDESC_HEADER_LEN);
48 ptr_buf = skb_put_data(skb, pData, DataLen); 47 skb_put_data(skb, pData, DataLen);
49 tcb_desc->txbuf_size = (u16)DataLen; 48 tcb_desc->txbuf_size = (u16)DataLen;
50 49
51 if (!priv->ieee80211->check_nic_enough_desc(dev, tcb_desc->queue_index) || 50 if (!priv->ieee80211->check_nic_enough_desc(dev, tcb_desc->queue_index) ||
diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c
index f96c558b3c6a..ea3eb94b28b3 100644
--- a/drivers/staging/rtl8712/rtl8712_recv.c
+++ b/drivers/staging/rtl8712/rtl8712_recv.c
@@ -340,7 +340,7 @@ static int amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe)
340 int a_len, padding_len; 340 int a_len, padding_len;
341 u16 eth_type, nSubframe_Length; 341 u16 eth_type, nSubframe_Length;
342 u8 nr_subframes, i; 342 u8 nr_subframes, i;
343 unsigned char *data_ptr, *pdata; 343 unsigned char *pdata;
344 struct rx_pkt_attrib *pattrib; 344 struct rx_pkt_attrib *pattrib;
345 _pkt *sub_skb, *subframes[MAX_SUBFRAME_COUNT]; 345 _pkt *sub_skb, *subframes[MAX_SUBFRAME_COUNT];
346 struct recv_priv *precvpriv = &padapter->recvpriv; 346 struct recv_priv *precvpriv = &padapter->recvpriv;
@@ -372,7 +372,7 @@ static int amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe)
372 if (!sub_skb) 372 if (!sub_skb)
373 break; 373 break;
374 skb_reserve(sub_skb, 12); 374 skb_reserve(sub_skb, 12);
375 data_ptr = skb_put_data(sub_skb, pdata, nSubframe_Length); 375 skb_put_data(sub_skb, pdata, nSubframe_Length);
376 subframes[nr_subframes++] = sub_skb; 376 subframes[nr_subframes++] = sub_skb;
377 if (nr_subframes >= MAX_SUBFRAME_COUNT) { 377 if (nr_subframes >= MAX_SUBFRAME_COUNT) {
378 netdev_warn(padapter->pnetdev, "r8712u: ParseSubframe(): Too many Subframes! Packets dropped!\n"); 378 netdev_warn(padapter->pnetdev, "r8712u: ParseSubframe(): Too many Subframes! Packets dropped!\n");
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index 1a6443dc3ff0..f42e00081e0e 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -72,7 +72,6 @@ int rtw_os_recvbuf_resource_free(struct adapter *padapter, struct recv_buf *prec
72_pkt *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata) 72_pkt *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata)
73{ 73{
74 u16 eth_type; 74 u16 eth_type;
75 u8 *data_ptr;
76 _pkt *sub_skb; 75 _pkt *sub_skb;
77 struct rx_pkt_attrib *pattrib; 76 struct rx_pkt_attrib *pattrib;
78 77
@@ -82,8 +81,7 @@ _pkt *rtw_os_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8
82 if (sub_skb) 81 if (sub_skb)
83 { 82 {
84 skb_reserve(sub_skb, 12); 83 skb_reserve(sub_skb, 12);
85 data_ptr = skb_put_data(sub_skb, (pdata + ETH_HLEN), 84 skb_put_data(sub_skb, (pdata + ETH_HLEN), nSubframe_Length);
86 nSubframe_Length);
87 } 85 }
88 else 86 else
89 { 87 {
diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c b/drivers/staging/wlan-ng/hfa384x_usb.c
index 1de67f209f2c..83ea8ab4f2f4 100644
--- a/drivers/staging/wlan-ng/hfa384x_usb.c
+++ b/drivers/staging/wlan-ng/hfa384x_usb.c
@@ -3530,7 +3530,7 @@ static void hfa384x_int_rxmonitor(struct wlandevice *wlandev,
3530 /* Copy the 802.11 header to the skb 3530 /* Copy the 802.11 header to the skb
3531 * (ctl frames may be less than a full header) 3531 * (ctl frames may be less than a full header)
3532 */ 3532 */
3533 datap = skb_put_data(skb, &rxdesc->frame_control, hdrlen); 3533 skb_put_data(skb, &rxdesc->frame_control, hdrlen);
3534 3534
3535 /* If any, copy the data from the card to the skb */ 3535 /* If any, copy the data from the card to the skb */
3536 if (datalen > 0) { 3536 if (datalen > 0) {
diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c
index a9c28c72c1c7..24e34cfcb4bd 100644
--- a/drivers/usb/gadget/function/f_ncm.c
+++ b/drivers/usb/gadget/function/f_ncm.c
@@ -1004,16 +1004,15 @@ static struct sk_buff *package_for_tx(struct f_ncm *ncm)
1004 } 1004 }
1005 1005
1006 /* Insert NDP alignment. */ 1006 /* Insert NDP alignment. */
1007 ntb_iter = skb_put_zero(skb2, ndp_pad); 1007 skb_put_zero(skb2, ndp_pad);
1008 1008
1009 /* Copy NTB across. */ 1009 /* Copy NTB across. */
1010 ntb_iter = skb_put_data(skb2, ncm->skb_tx_ndp->data, 1010 skb_put_data(skb2, ncm->skb_tx_ndp->data, ncm->skb_tx_ndp->len);
1011 ncm->skb_tx_ndp->len);
1012 dev_consume_skb_any(ncm->skb_tx_ndp); 1011 dev_consume_skb_any(ncm->skb_tx_ndp);
1013 ncm->skb_tx_ndp = NULL; 1012 ncm->skb_tx_ndp = NULL;
1014 1013
1015 /* Insert zero'd datagram. */ 1014 /* Insert zero'd datagram. */
1016 ntb_iter = skb_put_zero(skb2, dgram_idx_len); 1015 skb_put_zero(skb2, dgram_idx_len);
1017 1016
1018 return skb2; 1017 return skb2;
1019} 1018}
@@ -1127,8 +1126,8 @@ static struct sk_buff *ncm_wrap_ntb(struct gether *port,
1127 ncm->ndp_dgram_count++; 1126 ncm->ndp_dgram_count++;
1128 1127
1129 /* Add the new data to the skb */ 1128 /* Add the new data to the skb */
1130 ntb_data = skb_put_zero(ncm->skb_tx_data, dgram_pad); 1129 skb_put_zero(ncm->skb_tx_data, dgram_pad);
1131 ntb_data = skb_put_data(ncm->skb_tx_data, skb->data, skb->len); 1130 skb_put_data(ncm->skb_tx_data, skb->data, skb->len);
1132 dev_consume_skb_any(skb); 1131 dev_consume_skb_any(skb);
1133 skb = NULL; 1132 skb = NULL;
1134 1133
diff --git a/lib/nlattr.c b/lib/nlattr.c
index a0c738aa6a79..fb52435be42d 100644
--- a/lib/nlattr.c
+++ b/lib/nlattr.c
@@ -398,11 +398,7 @@ EXPORT_SYMBOL(__nla_reserve_64bit);
398 */ 398 */
399void *__nla_reserve_nohdr(struct sk_buff *skb, int attrlen) 399void *__nla_reserve_nohdr(struct sk_buff *skb, int attrlen)
400{ 400{
401 void *start; 401 return skb_put_zero(skb, NLA_ALIGN(attrlen));
402
403 start = skb_put_zero(skb, NLA_ALIGN(attrlen));
404
405 return start;
406} 402}
407EXPORT_SYMBOL(__nla_reserve_nohdr); 403EXPORT_SYMBOL(__nla_reserve_nohdr);
408 404
diff --git a/net/bridge/netfilter/nft_reject_bridge.c b/net/bridge/netfilter/nft_reject_bridge.c
index a05775afa44b..eaf05de37f75 100644
--- a/net/bridge/netfilter/nft_reject_bridge.c
+++ b/net/bridge/netfilter/nft_reject_bridge.c
@@ -107,7 +107,6 @@ static void nft_reject_br_send_v4_unreach(struct net *net,
107 struct iphdr *niph; 107 struct iphdr *niph;
108 struct icmphdr *icmph; 108 struct icmphdr *icmph;
109 unsigned int len; 109 unsigned int len;
110 void *payload;
111 __wsum csum; 110 __wsum csum;
112 u8 proto; 111 u8 proto;
113 112
@@ -151,7 +150,7 @@ static void nft_reject_br_send_v4_unreach(struct net *net,
151 icmph->type = ICMP_DEST_UNREACH; 150 icmph->type = ICMP_DEST_UNREACH;
152 icmph->code = code; 151 icmph->code = code;
153 152
154 payload = skb_put_data(nskb, skb_network_header(oldskb), len); 153 skb_put_data(nskb, skb_network_header(oldskb), len);
155 154
156 csum = csum_partial((void *)icmph, len + sizeof(struct icmphdr), 0); 155 csum = csum_partial((void *)icmph, len + sizeof(struct icmphdr), 0);
157 icmph->checksum = csum_fold(csum); 156 icmph->checksum = csum_fold(csum);
@@ -247,7 +246,6 @@ static void nft_reject_br_send_v6_unreach(struct net *net,
247 struct ipv6hdr *nip6h; 246 struct ipv6hdr *nip6h;
248 struct icmp6hdr *icmp6h; 247 struct icmp6hdr *icmp6h;
249 unsigned int len; 248 unsigned int len;
250 void *payload;
251 249
252 if (!nft_bridge_ip6hdr_validate(oldskb)) 250 if (!nft_bridge_ip6hdr_validate(oldskb))
253 return; 251 return;
@@ -277,7 +275,7 @@ static void nft_reject_br_send_v6_unreach(struct net *net,
277 icmp6h->icmp6_type = ICMPV6_DEST_UNREACH; 275 icmp6h->icmp6_type = ICMPV6_DEST_UNREACH;
278 icmp6h->icmp6_code = code; 276 icmp6h->icmp6_code = code;
279 277
280 payload = skb_put_data(nskb, skb_network_header(oldskb), len); 278 skb_put_data(nskb, skb_network_header(oldskb), len);
281 nip6h->payload_len = htons(nskb->len - sizeof(struct ipv6hdr)); 279 nip6h->payload_len = htons(nskb->len - sizeof(struct ipv6hdr));
282 280
283 icmp6h->icmp6_cksum = 281 icmp6h->icmp6_cksum =
diff --git a/net/dsa/tag_trailer.c b/net/dsa/tag_trailer.c
index 172f13167896..b09e56214005 100644
--- a/net/dsa/tag_trailer.c
+++ b/net/dsa/tag_trailer.c
@@ -43,8 +43,7 @@ static struct sk_buff *trailer_xmit(struct sk_buff *skb, struct net_device *dev)
43 kfree_skb(skb); 43 kfree_skb(skb);
44 44
45 if (padlen) { 45 if (padlen) {
46 u8 *pad = skb_put(nskb, padlen); 46 skb_put_zero(nskb, padlen);
47 memset(pad, 0, padlen);
48 } 47 }
49 48
50 trailer = skb_put(nskb, 4); 49 trailer = skb_put(nskb, 4);
diff --git a/net/hsr/hsr_device.c b/net/hsr/hsr_device.c
index 0a0a392dc2bd..4e7bdb213cd0 100644
--- a/net/hsr/hsr_device.c
+++ b/net/hsr/hsr_device.c
@@ -284,12 +284,12 @@ static void send_hsr_supervision_frame(struct hsr_port *master,
284 skb_reset_mac_header(skb); 284 skb_reset_mac_header(skb);
285 285
286 if (hsrVer > 0) { 286 if (hsrVer > 0) {
287 hsr_tag = (typeof(hsr_tag)) skb_put(skb, sizeof(struct hsr_tag)); 287 hsr_tag = skb_put(skb, sizeof(struct hsr_tag));
288 hsr_tag->encap_proto = htons(ETH_P_PRP); 288 hsr_tag->encap_proto = htons(ETH_P_PRP);
289 set_hsr_tag_LSDU_size(hsr_tag, HSR_V1_SUP_LSDUSIZE); 289 set_hsr_tag_LSDU_size(hsr_tag, HSR_V1_SUP_LSDUSIZE);
290 } 290 }
291 291
292 hsr_stag = (typeof(hsr_stag)) skb_put(skb, sizeof(struct hsr_sup_tag)); 292 hsr_stag = skb_put(skb, sizeof(struct hsr_sup_tag));
293 set_hsr_stag_path(hsr_stag, (hsrVer ? 0x0 : 0xf)); 293 set_hsr_stag_path(hsr_stag, (hsrVer ? 0x0 : 0xf));
294 set_hsr_stag_HSR_Ver(hsr_stag, hsrVer); 294 set_hsr_stag_HSR_Ver(hsr_stag, hsrVer);
295 295
@@ -311,7 +311,7 @@ static void send_hsr_supervision_frame(struct hsr_port *master,
311 hsr_stag->HSR_TLV_Length = hsrVer ? sizeof(struct hsr_sup_payload) : 12; 311 hsr_stag->HSR_TLV_Length = hsrVer ? sizeof(struct hsr_sup_payload) : 12;
312 312
313 /* Payload: MacAddressA */ 313 /* Payload: MacAddressA */
314 hsr_sp = (typeof(hsr_sp)) skb_put(skb, sizeof(struct hsr_sup_payload)); 314 hsr_sp = skb_put(skb, sizeof(struct hsr_sup_payload));
315 ether_addr_copy(hsr_sp->MacAddressA, master->dev->dev_addr); 315 ether_addr_copy(hsr_sp->MacAddressA, master->dev->dev_addr);
316 316
317 skb_put_padto(skb, ETH_ZLEN + HSR_HLEN); 317 skb_put_padto(skb, ETH_ZLEN + HSR_HLEN);
diff --git a/net/irda/irlap_frame.c b/net/irda/irlap_frame.c
index 82e71e5622c2..debda3de4726 100644
--- a/net/irda/irlap_frame.c
+++ b/net/irda/irlap_frame.c
@@ -392,7 +392,7 @@ void irlap_send_discovery_xid_frame(struct irlap_cb *self, int S, __u8 s,
392 info[0] = discovery->data.charset; 392 info[0] = discovery->data.charset;
393 393
394 len = IRDA_MIN(discovery->name_len, skb_tailroom(tx_skb)); 394 len = IRDA_MIN(discovery->name_len, skb_tailroom(tx_skb));
395 info = skb_put_data(tx_skb, discovery->data.info, len); 395 skb_put_data(tx_skb, discovery->data.info, len);
396 } 396 }
397 irlap_queue_xmit(self, tx_skb); 397 irlap_queue_xmit(self, tx_skb);
398} 398}
@@ -1194,7 +1194,6 @@ void irlap_send_test_frame(struct irlap_cb *self, __u8 caddr, __u32 daddr,
1194{ 1194{
1195 struct sk_buff *tx_skb; 1195 struct sk_buff *tx_skb;
1196 struct test_frame *frame; 1196 struct test_frame *frame;
1197 __u8 *info;
1198 1197
1199 tx_skb = alloc_skb(cmd->len + sizeof(struct test_frame), GFP_ATOMIC); 1198 tx_skb = alloc_skb(cmd->len + sizeof(struct test_frame), GFP_ATOMIC);
1200 if (!tx_skb) 1199 if (!tx_skb)
@@ -1214,7 +1213,7 @@ void irlap_send_test_frame(struct irlap_cb *self, __u8 caddr, __u32 daddr,
1214 frame->control = TEST_RSP | PF_BIT; 1213 frame->control = TEST_RSP | PF_BIT;
1215 1214
1216 /* Copy info */ 1215 /* Copy info */
1217 info = skb_put_data(tx_skb, cmd->data, cmd->len); 1216 skb_put_data(tx_skb, cmd->data, cmd->len);
1218 1217
1219 /* Return to sender */ 1218 /* Return to sender */
1220 irlap_wait_min_turn_around(self, &self->qos_tx); 1219 irlap_wait_min_turn_around(self, &self->qos_tx);
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 7be7917e1541..b588e593b0ec 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -796,8 +796,7 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
796 after_ric, 796 after_ric,
797 ARRAY_SIZE(after_ric), 797 ARRAY_SIZE(after_ric),
798 offset); 798 offset);
799 pos = skb_put_data(skb, assoc_data->ie + offset, 799 skb_put_data(skb, assoc_data->ie + offset, noffset - offset);
800 noffset - offset);
801 offset = noffset; 800 offset = noffset;
802 } 801 }
803 802
@@ -834,8 +833,7 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
834 noffset = ieee80211_ie_split(assoc_data->ie, assoc_data->ie_len, 833 noffset = ieee80211_ie_split(assoc_data->ie, assoc_data->ie_len,
835 before_vht, ARRAY_SIZE(before_vht), 834 before_vht, ARRAY_SIZE(before_vht),
836 offset); 835 offset);
837 pos = skb_put_data(skb, assoc_data->ie + offset, 836 skb_put_data(skb, assoc_data->ie + offset, noffset - offset);
838 noffset - offset);
839 offset = noffset; 837 offset = noffset;
840 } 838 }
841 839
@@ -848,8 +846,7 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
848 noffset = ieee80211_ie_split_vendor(assoc_data->ie, 846 noffset = ieee80211_ie_split_vendor(assoc_data->ie,
849 assoc_data->ie_len, 847 assoc_data->ie_len,
850 offset); 848 offset);
851 pos = skb_put_data(skb, assoc_data->ie + offset, 849 skb_put_data(skb, assoc_data->ie + offset, noffset - offset);
852 noffset - offset);
853 offset = noffset; 850 offset = noffset;
854 } 851 }
855 852
@@ -868,8 +865,7 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
868 /* add any remaining custom (i.e. vendor specific here) IEs */ 865 /* add any remaining custom (i.e. vendor specific here) IEs */
869 if (assoc_data->ie_len) { 866 if (assoc_data->ie_len) {
870 noffset = assoc_data->ie_len; 867 noffset = assoc_data->ie_len;
871 pos = skb_put_data(skb, assoc_data->ie + offset, 868 skb_put_data(skb, assoc_data->ie + offset, noffset - offset);
872 noffset - offset);
873 } 869 }
874 870
875 if (assoc_data->fils_kek_len && 871 if (assoc_data->fils_kek_len &&
diff --git a/net/mac80211/tdls.c b/net/mac80211/tdls.c
index 709ef02fe67e..91093d4a2f84 100644
--- a/net/mac80211/tdls.c
+++ b/net/mac80211/tdls.c
@@ -388,7 +388,7 @@ ieee80211_tdls_add_setup_start_ies(struct ieee80211_sub_if_data *sdata,
388 before_ext_cap, 388 before_ext_cap,
389 ARRAY_SIZE(before_ext_cap), 389 ARRAY_SIZE(before_ext_cap),
390 offset); 390 offset);
391 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 391 skb_put_data(skb, extra_ies + offset, noffset - offset);
392 offset = noffset; 392 offset = noffset;
393 } 393 }
394 394
@@ -417,7 +417,7 @@ ieee80211_tdls_add_setup_start_ies(struct ieee80211_sub_if_data *sdata,
417 before_ht_cap, 417 before_ht_cap,
418 ARRAY_SIZE(before_ht_cap), 418 ARRAY_SIZE(before_ht_cap),
419 offset); 419 offset);
420 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 420 skb_put_data(skb, extra_ies + offset, noffset - offset);
421 offset = noffset; 421 offset = noffset;
422 } 422 }
423 423
@@ -488,7 +488,7 @@ ieee80211_tdls_add_setup_start_ies(struct ieee80211_sub_if_data *sdata,
488 before_vht_cap, 488 before_vht_cap,
489 ARRAY_SIZE(before_vht_cap), 489 ARRAY_SIZE(before_vht_cap),
490 offset); 490 offset);
491 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 491 skb_put_data(skb, extra_ies + offset, noffset - offset);
492 offset = noffset; 492 offset = noffset;
493 } 493 }
494 494
@@ -529,7 +529,7 @@ ieee80211_tdls_add_setup_start_ies(struct ieee80211_sub_if_data *sdata,
529 /* add any remaining IEs */ 529 /* add any remaining IEs */
530 if (extra_ies_len) { 530 if (extra_ies_len) {
531 noffset = extra_ies_len; 531 noffset = extra_ies_len;
532 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 532 skb_put_data(skb, extra_ies + offset, noffset - offset);
533 } 533 }
534 534
535} 535}
@@ -571,7 +571,7 @@ ieee80211_tdls_add_setup_cfm_ies(struct ieee80211_sub_if_data *sdata,
571 before_qos, 571 before_qos,
572 ARRAY_SIZE(before_qos), 572 ARRAY_SIZE(before_qos),
573 offset); 573 offset);
574 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 574 skb_put_data(skb, extra_ies + offset, noffset - offset);
575 offset = noffset; 575 offset = noffset;
576 } 576 }
577 577
@@ -591,7 +591,7 @@ ieee80211_tdls_add_setup_cfm_ies(struct ieee80211_sub_if_data *sdata,
591 before_ht_op, 591 before_ht_op,
592 ARRAY_SIZE(before_ht_op), 592 ARRAY_SIZE(before_ht_op),
593 offset); 593 offset);
594 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 594 skb_put_data(skb, extra_ies + offset, noffset - offset);
595 offset = noffset; 595 offset = noffset;
596 } 596 }
597 597
@@ -632,7 +632,7 @@ ieee80211_tdls_add_setup_cfm_ies(struct ieee80211_sub_if_data *sdata,
632 /* add any remaining IEs */ 632 /* add any remaining IEs */
633 if (extra_ies_len) { 633 if (extra_ies_len) {
634 noffset = extra_ies_len; 634 noffset = extra_ies_len;
635 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 635 skb_put_data(skb, extra_ies + offset, noffset - offset);
636 } 636 }
637} 637}
638 638
@@ -645,7 +645,6 @@ ieee80211_tdls_add_chan_switch_req_ies(struct ieee80211_sub_if_data *sdata,
645{ 645{
646 struct ieee80211_tdls_data *tf; 646 struct ieee80211_tdls_data *tf;
647 size_t offset = 0, noffset; 647 size_t offset = 0, noffset;
648 u8 *pos;
649 648
650 if (WARN_ON_ONCE(!chandef)) 649 if (WARN_ON_ONCE(!chandef))
651 return; 650 return;
@@ -663,7 +662,7 @@ ieee80211_tdls_add_chan_switch_req_ies(struct ieee80211_sub_if_data *sdata,
663 before_lnkie, 662 before_lnkie,
664 ARRAY_SIZE(before_lnkie), 663 ARRAY_SIZE(before_lnkie),
665 offset); 664 offset);
666 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 665 skb_put_data(skb, extra_ies + offset, noffset - offset);
667 offset = noffset; 666 offset = noffset;
668 } 667 }
669 668
@@ -672,7 +671,7 @@ ieee80211_tdls_add_chan_switch_req_ies(struct ieee80211_sub_if_data *sdata,
672 /* add any remaining IEs */ 671 /* add any remaining IEs */
673 if (extra_ies_len) { 672 if (extra_ies_len) {
674 noffset = extra_ies_len; 673 noffset = extra_ies_len;
675 pos = skb_put_data(skb, extra_ies + offset, noffset - offset); 674 skb_put_data(skb, extra_ies + offset, noffset - offset);
676 } 675 }
677} 676}
678 677
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 2c196b3e9cd3..4b1967997c16 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -1474,11 +1474,10 @@ void sctp_chunk_put(struct sctp_chunk *ch)
1474void *sctp_addto_chunk(struct sctp_chunk *chunk, int len, const void *data) 1474void *sctp_addto_chunk(struct sctp_chunk *chunk, int len, const void *data)
1475{ 1475{
1476 void *target; 1476 void *target;
1477 void *padding;
1478 int chunklen = ntohs(chunk->chunk_hdr->length); 1477 int chunklen = ntohs(chunk->chunk_hdr->length);
1479 int padlen = SCTP_PAD4(chunklen) - chunklen; 1478 int padlen = SCTP_PAD4(chunklen) - chunklen;
1480 1479
1481 padding = skb_put_zero(chunk->skb, padlen); 1480 skb_put_zero(chunk->skb, padlen);
1482 target = skb_put_data(chunk->skb, data, len); 1481 target = skb_put_data(chunk->skb, data, len);
1483 1482
1484 /* Adjust the chunk length field. */ 1483 /* Adjust the chunk length field. */
diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c
index 7d6ee03f2762..edba7ab97563 100644
--- a/net/vmw_vsock/virtio_transport_common.c
+++ b/net/vmw_vsock/virtio_transport_common.c
@@ -90,7 +90,6 @@ out_pkt:
90static struct sk_buff *virtio_transport_build_skb(void *opaque) 90static struct sk_buff *virtio_transport_build_skb(void *opaque)
91{ 91{
92 struct virtio_vsock_pkt *pkt = opaque; 92 struct virtio_vsock_pkt *pkt = opaque;
93 unsigned char *t_hdr, *payload;
94 struct af_vsockmon_hdr *hdr; 93 struct af_vsockmon_hdr *hdr;
95 struct sk_buff *skb; 94 struct sk_buff *skb;
96 95
@@ -132,10 +131,10 @@ static struct sk_buff *virtio_transport_build_skb(void *opaque)
132 break; 131 break;
133 } 132 }
134 133
135 t_hdr = skb_put_data(skb, &pkt->hdr, sizeof(pkt->hdr)); 134 skb_put_data(skb, &pkt->hdr, sizeof(pkt->hdr));
136 135
137 if (pkt->len) { 136 if (pkt->len) {
138 payload = skb_put_data(skb, pkt->buf, pkt->len); 137 skb_put_data(skb, pkt->buf, pkt->len);
139 } 138 }
140 139
141 return skb; 140 return skb;
diff --git a/net/x25/x25_subr.c b/net/x25/x25_subr.c
index eb466ece1730..db0b1315d577 100644
--- a/net/x25/x25_subr.c
+++ b/net/x25/x25_subr.c
@@ -188,14 +188,14 @@ void x25_write_internal(struct sock *sk, int frametype)
188 *dptr++ = X25_CALL_REQUEST; 188 *dptr++ = X25_CALL_REQUEST;
189 len = x25_addr_aton(addresses, &x25->dest_addr, 189 len = x25_addr_aton(addresses, &x25->dest_addr,
190 &x25->source_addr); 190 &x25->source_addr);
191 dptr = skb_put_data(skb, addresses, len); 191 skb_put_data(skb, addresses, len);
192 len = x25_create_facilities(facilities, 192 len = x25_create_facilities(facilities,
193 &x25->facilities, 193 &x25->facilities,
194 &x25->dte_facilities, 194 &x25->dte_facilities,
195 x25->neighbour->global_facil_mask); 195 x25->neighbour->global_facil_mask);
196 dptr = skb_put_data(skb, facilities, len); 196 skb_put_data(skb, facilities, len);
197 dptr = skb_put_data(skb, x25->calluserdata.cuddata, 197 skb_put_data(skb, x25->calluserdata.cuddata,
198 x25->calluserdata.cudlength); 198 x25->calluserdata.cudlength);
199 x25->calluserdata.cudlength = 0; 199 x25->calluserdata.cudlength = 0;
200 break; 200 break;
201 201
@@ -207,15 +207,15 @@ void x25_write_internal(struct sock *sk, int frametype)
207 &x25->facilities, 207 &x25->facilities,
208 &x25->dte_facilities, 208 &x25->dte_facilities,
209 x25->vc_facil_mask); 209 x25->vc_facil_mask);
210 dptr = skb_put_data(skb, facilities, len); 210 skb_put_data(skb, facilities, len);
211 211
212 /* fast select with no restriction on response 212 /* fast select with no restriction on response
213 allows call user data. Userland must 213 allows call user data. Userland must
214 ensure it is ours and not theirs */ 214 ensure it is ours and not theirs */
215 if(x25->facilities.reverse & 0x80) { 215 if(x25->facilities.reverse & 0x80) {
216 dptr = skb_put_data(skb, 216 skb_put_data(skb,
217 x25->calluserdata.cuddata, 217 x25->calluserdata.cuddata,
218 x25->calluserdata.cudlength); 218 x25->calluserdata.cudlength);
219 } 219 }
220 x25->calluserdata.cudlength = 0; 220 x25->calluserdata.cudlength = 0;
221 break; 221 break;