Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

networking: make skb_push & __skb_push return void pointers

It seems like a historic accident that these return unsigned char *,
and in many places that means casts are required, more often than not.

Make these functions return void * and remove all the casts across
the tree, adding a (u8 *) cast only where the unsigned char pointer
was used directly, all done with the following spatch:

@@
expression SKB, LEN;
typedef u8;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
@@
- *(fn(SKB, LEN))
+ *(u8 *)fn(SKB, LEN)

@@
expression E, SKB, LEN;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
type T;
@@
- E = ((T *)(fn(SKB, LEN)))
+ E = fn(SKB, LEN)

@@
expression SKB, LEN;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
@@
- fn(SKB, LEN)[0]
+ *(u8 *)fn(SKB, LEN)

Note that the last part there converts from push(...)[0] to the
more idiomatic *(u8 *)push(...).

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Johannes Berg and committed by
David S. Miller
d58ff351 af72868b

+204 -234
+1 -1
drivers/atm/solos-pci.c
··· 1174 1174 } 1175 1175 } 1176 1176 1177 - header = (void *)skb_push(skb, sizeof(*header)); 1177 + header = skb_push(skb, sizeof(*header)); 1178 1178 1179 1179 /* This does _not_ include the size of the header */ 1180 1180 header->size = cpu_to_le16(pktlen);
+1 -1
drivers/bluetooth/bpa10x.c
··· 297 297 return -ENOMEM; 298 298 299 299 /* Prepend skb with frame type */ 300 - *skb_push(skb, 1) = hci_skb_pkt_type(skb); 300 + *(u8 *)skb_push(skb, 1) = hci_skb_pkt_type(skb); 301 301 302 302 switch (hci_skb_pkt_type(skb)) { 303 303 case HCI_COMMAND_PKT:
+3 -5
drivers/firewire/net.c
··· 219 219 { 220 220 struct fwnet_header *h; 221 221 222 - h = (struct fwnet_header *)skb_push(skb, sizeof(*h)); 222 + h = skb_push(skb, sizeof(*h)); 223 223 put_unaligned_be16(type, &h->h_proto); 224 224 225 225 if (net->flags & (IFF_LOOPBACK | IFF_NOARP)) { ··· 961 961 tx_len = ptask->max_payload; 962 962 switch (fwnet_get_hdr_lf(&ptask->hdr)) { 963 963 case RFC2374_HDR_UNFRAG: 964 - bufhdr = (struct rfc2734_header *) 965 - skb_push(ptask->skb, RFC2374_UNFRAG_HDR_SIZE); 964 + bufhdr = skb_push(ptask->skb, RFC2374_UNFRAG_HDR_SIZE); 966 965 put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0); 967 966 break; 968 967 969 968 case RFC2374_HDR_FIRSTFRAG: 970 969 case RFC2374_HDR_INTFRAG: 971 970 case RFC2374_HDR_LASTFRAG: 972 - bufhdr = (struct rfc2734_header *) 973 - skb_push(ptask->skb, RFC2374_FRAG_HDR_SIZE); 971 + bufhdr = skb_push(ptask->skb, RFC2374_FRAG_HDR_SIZE); 974 972 put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0); 975 973 put_unaligned_be32(ptask->hdr.w1, &bufhdr->w1); 976 974 break;
+3 -3
drivers/infiniband/hw/cxgb3/iwch_cm.c
··· 513 513 set_arp_failure_handler(skb, arp_failure_discard); 514 514 skb_reset_transport_header(skb); 515 515 len = skb->len; 516 - req = (struct tx_data_wr *) skb_push(skb, sizeof(*req)); 516 + req = skb_push(skb, sizeof(*req)); 517 517 req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL); 518 518 req->wr_lo = htonl(V_WR_TID(ep->hwtid)); 519 519 req->len = htonl(len); ··· 564 564 skb->priority = CPL_PRIORITY_DATA; 565 565 set_arp_failure_handler(skb, arp_failure_discard); 566 566 skb_reset_transport_header(skb); 567 - req = (struct tx_data_wr *) skb_push(skb, sizeof(*req)); 567 + req = skb_push(skb, sizeof(*req)); 568 568 req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL); 569 569 req->wr_lo = htonl(V_WR_TID(ep->hwtid)); 570 570 req->len = htonl(mpalen); ··· 615 615 set_arp_failure_handler(skb, arp_failure_discard); 616 616 skb_reset_transport_header(skb); 617 617 len = skb->len; 618 - req = (struct tx_data_wr *) skb_push(skb, sizeof(*req)); 618 + req = skb_push(skb, sizeof(*req)); 619 619 req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL); 620 620 req->wr_lo = htonl(V_WR_TID(ep->hwtid)); 621 621 req->len = htonl(len);
+1 -1
drivers/infiniband/hw/cxgb4/cm.c
··· 3751 3751 tcp_clear_options(&tmp_opt); 3752 3752 tcp_parse_options(&init_net, skb, &tmp_opt, 0, NULL); 3753 3753 3754 - req = (struct cpl_pass_accept_req *)__skb_push(skb, sizeof(*req)); 3754 + req = __skb_push(skb, sizeof(*req)); 3755 3755 memset(req, 0, sizeof(*req)); 3756 3756 req->l2info = cpu_to_be16(SYN_INTF_V(intf) | 3757 3757 SYN_MAC_IDX_V(RX_MACIDX_G(
+2 -2
drivers/infiniband/ulp/ipoib/ipoib_main.c
··· 681 681 { 682 682 struct ipoib_pseudo_header *phdr; 683 683 684 - phdr = (struct ipoib_pseudo_header *)skb_push(skb, sizeof(*phdr)); 684 + phdr = skb_push(skb, sizeof(*phdr)); 685 685 memcpy(phdr->hwaddr, daddr, INFINIBAND_ALEN); 686 686 } 687 687 ··· 1129 1129 { 1130 1130 struct ipoib_header *header; 1131 1131 1132 - header = (struct ipoib_header *) skb_push(skb, sizeof *header); 1132 + header = skb_push(skb, sizeof *header); 1133 1133 1134 1134 header->proto = htons(type); 1135 1135 header->reserved = 0;
+1 -1
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c
··· 460 460 sc = opa_vnic_get_sc(info, skb); 461 461 l4_hdr = info->vesw.vesw_id; 462 462 463 - mdata = (struct opa_vnic_skb_mdata *)skb_push(skb, sizeof(*mdata)); 463 + mdata = skb_push(skb, sizeof(*mdata)); 464 464 mdata->vl = opa_vnic_get_vl(adapter, skb); 465 465 mdata->entropy = entropy; 466 466 mdata->flags = 0;
+1 -1
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
··· 103 103 int rc; 104 104 105 105 /* pass entropy and vl as metadata in skb */ 106 - mdata = (struct opa_vnic_skb_mdata *)skb_push(skb, sizeof(*mdata)); 106 + mdata = skb_push(skb, sizeof(*mdata)); 107 107 mdata->entropy = opa_vnic_calc_entropy(adapter, skb); 108 108 mdata->vl = opa_vnic_get_vl(adapter, skb); 109 109 rc = adapter->rn_ops->ndo_select_queue(netdev, skb,
+1 -1
drivers/isdn/i4l/isdn_ppp.c
··· 1312 1312 /* check if we should pass this packet 1313 1313 * the filter instructions are constructed assuming 1314 1314 * a four-byte PPP header on each packet */ 1315 - *skb_push(skb, 4) = 1; /* indicate outbound */ 1315 + *(u8 *)skb_push(skb, 4) = 1; /* indicate outbound */ 1316 1316 1317 1317 { 1318 1318 __be16 *p = (__be16 *)skb->data;
+1 -1
drivers/net/arcnet/arc-rawmode.c
··· 85 85 unsigned short type, uint8_t daddr) 86 86 { 87 87 int hdr_size = ARC_HDR_SIZE; 88 - struct archdr *pkt = (struct archdr *)skb_push(skb, hdr_size); 88 + struct archdr *pkt = skb_push(skb, hdr_size); 89 89 90 90 /* Set the source hardware address. 91 91 *
+1 -1
drivers/net/arcnet/capmode.c
··· 101 101 uint8_t daddr) 102 102 { 103 103 int hdr_size = ARC_HDR_SIZE; 104 - struct archdr *pkt = (struct archdr *)skb_push(skb, hdr_size); 104 + struct archdr *pkt = skb_push(skb, hdr_size); 105 105 106 106 arc_printk(D_PROTO, dev, "Preparing header for cap packet %x.\n", 107 107 *((int *)&pkt->soft.cap.cookie[0]));
+1 -1
drivers/net/arcnet/rfc1051.c
··· 162 162 unsigned short type, uint8_t daddr) 163 163 { 164 164 int hdr_size = ARC_HDR_SIZE + RFC1051_HDR_SIZE; 165 - struct archdr *pkt = (struct archdr *)skb_push(skb, hdr_size); 165 + struct archdr *pkt = skb_push(skb, hdr_size); 166 166 struct arc_rfc1051 *soft = &pkt->soft.rfc1051; 167 167 168 168 /* set the protocol ID according to RFC1051 */
+1 -1
drivers/net/arcnet/rfc1201.c
··· 379 379 { 380 380 struct arcnet_local *lp = netdev_priv(dev); 381 381 int hdr_size = ARC_HDR_SIZE + RFC1201_HDR_SIZE; 382 - struct archdr *pkt = (struct archdr *)skb_push(skb, hdr_size); 382 + struct archdr *pkt = skb_push(skb, hdr_size); 383 383 struct arc_rfc1201 *soft = &pkt->soft.rfc1201; 384 384 385 385 /* set the protocol ID according to RFC1201 */
+1 -1
drivers/net/ethernet/broadcom/bcmsysport.c
··· 1099 1099 skb = nskb; 1100 1100 } 1101 1101 1102 - tsb = (struct bcm_tsb *)skb_push(skb, sizeof(*tsb)); 1102 + tsb = skb_push(skb, sizeof(*tsb)); 1103 1103 /* Zero-out TSB by default */ 1104 1104 memset(tsb, 0, sizeof(*tsb)); 1105 1105
+2 -2
drivers/net/ethernet/chelsio/cxgb/sge.c
··· 1801 1801 eth_type = skb_network_offset(skb) == ETH_HLEN ? 1802 1802 CPL_ETH_II : CPL_ETH_II_VLAN; 1803 1803 1804 - hdr = (struct cpl_tx_pkt_lso *)skb_push(skb, sizeof(*hdr)); 1804 + hdr = skb_push(skb, sizeof(*hdr)); 1805 1805 hdr->opcode = CPL_TX_PKT_LSO; 1806 1806 hdr->ip_csum_dis = hdr->l4_csum_dis = 0; 1807 1807 hdr->ip_hdr_words = ip_hdr(skb)->ihl; ··· 1849 1849 } 1850 1850 } 1851 1851 1852 - cpl = (struct cpl_tx_pkt *)__skb_push(skb, sizeof(*cpl)); 1852 + cpl = __skb_push(skb, sizeof(*cpl)); 1853 1853 cpl->opcode = CPL_TX_PKT; 1854 1854 cpl->ip_csum_dis = 1; /* SW calculates IP csum */ 1855 1855 cpl->l4_csum_dis = skb->ip_summed == CHECKSUM_PARTIAL ? 0 : 1;
+1 -1
drivers/net/ethernet/freescale/gianfar.c
··· 2250 2250 2251 2251 static inline struct txfcb *gfar_add_fcb(struct sk_buff *skb) 2252 2252 { 2253 - struct txfcb *fcb = (struct txfcb *)skb_push(skb, GMAC_FCB_LEN); 2253 + struct txfcb *fcb = skb_push(skb, GMAC_FCB_LEN); 2254 2254 2255 2255 memset(fcb, 0, GMAC_FCB_LEN); 2256 2256
+1 -1
drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c
··· 132 132 skb_reserve(skb, NET_IP_ALIGN); 133 133 134 134 /* Reserve for ethernet and IP header */ 135 - ethh = (struct ethhdr *)skb_push(skb, ETH_HLEN); 135 + ethh = skb_push(skb, ETH_HLEN); 136 136 skb_reset_mac_header(skb); 137 137 138 138 skb_set_network_header(skb, skb->len);
+1 -1
drivers/net/ethernet/sun/niu.c
··· 6667 6667 headroom = align + sizeof(struct tx_pkt_hdr); 6668 6668 6669 6669 ehdr = (struct ethhdr *) skb->data; 6670 - tp = (struct tx_pkt_hdr *) skb_push(skb, headroom); 6670 + tp = skb_push(skb, headroom); 6671 6671 6672 6672 len = skb->len - sizeof(struct tx_pkt_hdr); 6673 6673 tp->flags = cpu_to_le64(niu_compute_tx_flags(skb, ehdr, align, len));
+1 -1
drivers/net/ethernet/toshiba/ps3_gelic_net.c
··· 754 754 return NULL; 755 755 dev_kfree_skb_any(sk_tmp); 756 756 } 757 - veth = (struct vlan_ethhdr *)skb_push(skb, VLAN_HLEN); 757 + veth = skb_push(skb, VLAN_HLEN); 758 758 759 759 /* Move the mac addresses to the top of buffer */ 760 760 memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
+1 -2
drivers/net/geneve.c
··· 687 687 if (err) 688 688 goto free_dst; 689 689 690 - gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) + 691 - info->options_len); 690 + gnvh = __skb_push(skb, sizeof(*gnvh) + info->options_len); 692 691 geneve_build_header(gnvh, info); 693 692 skb_set_inner_protocol(skb, htons(ETH_P_TEB)); 694 693 return 0;
+2 -2
drivers/net/gtp.c
··· 398 398 int payload_len = skb->len; 399 399 struct gtp0_header *gtp0; 400 400 401 - gtp0 = (struct gtp0_header *) skb_push(skb, sizeof(*gtp0)); 401 + gtp0 = skb_push(skb, sizeof(*gtp0)); 402 402 403 403 gtp0->flags = 0x1e; /* v0, GTP-non-prime. */ 404 404 gtp0->type = GTP_TPDU; ··· 415 415 int payload_len = skb->len; 416 416 struct gtp1_header *gtp1; 417 417 418 - gtp1 = (struct gtp1_header *) skb_push(skb, sizeof(*gtp1)); 418 + gtp1 = skb_push(skb, sizeof(*gtp1)); 419 419 420 420 /* Bits 8 7 6 5 4 3 2 1 421 421 * +--+--+--+--+--+--+--+--+
+1 -1
drivers/net/hippi/rrunner.c
··· 1422 1422 skb = new_skb; 1423 1423 } 1424 1424 1425 - ifield = (u32 *)skb_push(skb, 8); 1425 + ifield = skb_push(skb, 8); 1426 1426 1427 1427 ifield[0] = 0; 1428 1428 ifield[1] = hcb->ifield;
+1 -1
drivers/net/macsec.c
··· 697 697 unprotected_len = skb->len; 698 698 eth = eth_hdr(skb); 699 699 sci_present = send_sci(secy); 700 - hh = (struct macsec_eth_header *)skb_push(skb, macsec_extra_len(sci_present)); 700 + hh = skb_push(skb, macsec_extra_len(sci_present)); 701 701 memmove(hh, eth, 2 * ETH_ALEN); 702 702 703 703 pn = tx_sa_update_pn(tx_sa, secy);
+1 -1
drivers/net/ppp/ppp_async.c
··· 802 802 proto = p[0]; 803 803 if (proto & 1) { 804 804 /* protocol is compressed */ 805 - skb_push(skb, 1)[0] = 0; 805 + *(u8 *)skb_push(skb, 1) = 0; 806 806 } else { 807 807 if (skb->len < 2) 808 808 goto err;
+3 -3
drivers/net/ppp/ppp_generic.c
··· 1490 1490 /* check if we should pass this packet */ 1491 1491 /* the filter instructions are constructed assuming 1492 1492 a four-byte PPP header on each packet */ 1493 - *skb_push(skb, 2) = 1; 1493 + *(u8 *)skb_push(skb, 2) = 1; 1494 1494 if (ppp->pass_filter && 1495 1495 BPF_PROG_RUN(ppp->pass_filter, skb) == 0) { 1496 1496 if (ppp->debug & 1) ··· 2133 2133 if (skb_unclone(skb, GFP_ATOMIC)) 2134 2134 goto err; 2135 2135 2136 - *skb_push(skb, 2) = 0; 2136 + *(u8 *)skb_push(skb, 2) = 0; 2137 2137 if (ppp->pass_filter && 2138 2138 BPF_PROG_RUN(ppp->pass_filter, skb) == 0) { 2139 2139 if (ppp->debug & 1) ··· 2267 2267 * Do protocol ID decompression on the first fragment of each packet. 2268 2268 */ 2269 2269 if ((PPP_MP_CB(skb)->BEbits & B) && (skb->data[0] & 1)) 2270 - *skb_push(skb, 1) = 0; 2270 + *(u8 *)skb_push(skb, 1) = 0; 2271 2271 2272 2272 /* 2273 2273 * Expand sequence number to 32 bits, making it as close
+1 -1
drivers/net/ppp/ppp_synctty.c
··· 711 711 /* decompress protocol field if compressed */ 712 712 if (p[0] & 1) { 713 713 /* protocol is compressed */ 714 - skb_push(skb, 1)[0] = 0; 714 + *(u8 *)skb_push(skb, 1) = 0; 715 715 } else if (skb->len < 2) 716 716 goto err; 717 717
+1 -1
drivers/net/ppp/pptp.c
··· 328 328 329 329 if ((*skb->data) & 1) { 330 330 /* protocol is compressed */ 331 - skb_push(skb, 1)[0] = 0; 331 + *(u8 *)skb_push(skb, 1) = 0; 332 332 } 333 333 334 334 skb->ip_summed = CHECKSUM_NONE;
+1 -1
drivers/net/usb/gl620a.c
··· 174 174 } 175 175 176 176 // attach the packet count to the header 177 - packet_count = (__le32 *) skb_push(skb, (4 + 4*1)); 177 + packet_count = skb_push(skb, (4 + 4 * 1)); 178 178 packet_len = packet_count + 1; 179 179 180 180 *packet_count = cpu_to_le32(1);
+1 -1
drivers/net/usb/int51x1.c
··· 106 106 pack_len += need_tail; 107 107 pack_len &= 0x07ff; 108 108 109 - len = (__le16 *) __skb_push(skb, INT51X1_HEADER_SIZE); 109 + len = __skb_push(skb, INT51X1_HEADER_SIZE); 110 110 *len = cpu_to_le16(pack_len); 111 111 112 112 if(need_tail)
+1 -1
drivers/net/usb/kaweth.c
··· 809 809 return NETDEV_TX_OK; 810 810 } 811 811 812 - private_header = (__le16 *)__skb_push(skb, 2); 812 + private_header = __skb_push(skb, 2); 813 813 *private_header = cpu_to_le16(skb->len-2); 814 814 kaweth->tx_skb = skb; 815 815
+1 -1
drivers/net/usb/lg-vl600.c
··· 304 304 memset(&packet->dummy, 0, sizeof(packet->dummy)); 305 305 packet->len = cpu_to_le32(orig_len); 306 306 307 - frame = (struct vl600_frame_hdr *) skb_push(skb, sizeof(*frame)); 307 + frame = skb_push(skb, sizeof(*frame)); 308 308 memset(frame, 0, sizeof(*frame)); 309 309 frame->len = cpu_to_le32(full_len); 310 310 frame->serial = cpu_to_le32(serial++);
+1 -1
drivers/net/usb/net1080.c
··· 466 466 467 467 encapsulate: 468 468 /* header first */ 469 - header = (struct nc_header *) skb_push(skb, sizeof *header); 469 + header = skb_push(skb, sizeof *header); 470 470 header->hdr_len = cpu_to_le16(sizeof (*header)); 471 471 header->packet_len = cpu_to_le16(len); 472 472 header->packet_id = cpu_to_le16((u16)dev->xid++);
+1 -1
drivers/net/usb/qmi_wwan.c
··· 101 101 unsigned int len = skb->len; 102 102 struct qmimux_hdr *hdr; 103 103 104 - hdr = (struct qmimux_hdr *)skb_push(skb, sizeof(struct qmimux_hdr)); 104 + hdr = skb_push(skb, sizeof(struct qmimux_hdr)); 105 105 hdr->pad = 0; 106 106 hdr->mux_id = priv->mux_id; 107 107 hdr->pkt_len = cpu_to_be16(len);
+1 -1
drivers/net/usb/rndis_host.c
··· 578 578 * packets; Linux minimizes wasted bandwidth through tx queues. 579 579 */ 580 580 fill: 581 - hdr = (void *) __skb_push(skb, sizeof *hdr); 581 + hdr = __skb_push(skb, sizeof *hdr); 582 582 memset(hdr, 0, sizeof *hdr); 583 583 hdr->msg_type = cpu_to_le32(RNDIS_MSG_PACKET); 584 584 hdr->msg_len = cpu_to_le32(skb->len);
+1 -1
drivers/net/vrf.c
··· 383 383 384 384 if (!list_empty(&vrf_dev->ptype_all) && 385 385 likely(skb_headroom(skb) >= ETH_HLEN)) { 386 - struct ethhdr *eth = (struct ethhdr *)skb_push(skb, ETH_HLEN); 386 + struct ethhdr *eth = skb_push(skb, ETH_HLEN); 387 387 388 388 ether_addr_copy(eth->h_source, vrf_dev->dev_addr); 389 389 eth_zero_addr(eth->h_dest);
+1 -1
drivers/net/vxlan.c
··· 1827 1827 if (err) 1828 1828 return err; 1829 1829 1830 - vxh = (struct vxlanhdr *) __skb_push(skb, sizeof(*vxh)); 1830 + vxh = __skb_push(skb, sizeof(*vxh)); 1831 1831 vxh->vx_flags = VXLAN_HF_VNI; 1832 1832 vxh->vx_vni = vxlan_vni_field(vni); 1833 1833
+1 -1
drivers/net/wimax/i2400m/netdev.c
··· 221 221 { 222 222 struct i2400m_pl_data_hdr *pl_hdr; 223 223 skb_pull(skb, ETH_HLEN); 224 - pl_hdr = (struct i2400m_pl_data_hdr *) skb_push(skb, sizeof(*pl_hdr)); 224 + pl_hdr = skb_push(skb, sizeof(*pl_hdr)); 225 225 pl_hdr->reserved = 0; 226 226 } 227 227
+1 -1
drivers/net/wireless/admtek/adm8211.c
··· 1700 1700 skb_pull(skb, hdrlen); 1701 1701 payload_len = skb->len; 1702 1702 1703 - txhdr = (struct adm8211_tx_hdr *) skb_push(skb, sizeof(*txhdr)); 1703 + txhdr = skb_push(skb, sizeof(*txhdr)); 1704 1704 memset(txhdr, 0, sizeof(*txhdr)); 1705 1705 memcpy(txhdr->da, ieee80211_get_DA(hdr), ETH_ALEN); 1706 1706 txhdr->signal = plcp_signal;
+2 -2
drivers/net/wireless/ath/ar5523/ar5523.c
··· 829 829 data->ar = ar; 830 830 data->urb = urb; 831 831 832 - desc = (struct ar5523_tx_desc *)skb_push(skb, sizeof(*desc)); 833 - chunk = (struct ar5523_chunk *)skb_push(skb, sizeof(*chunk)); 832 + desc = skb_push(skb, sizeof(*desc)); 833 + chunk = skb_push(skb, sizeof(*chunk)); 834 834 835 835 chunk->seqnum = 0; 836 836 chunk->flags = UATH_CFLAGS_FINAL;
+1 -2
drivers/net/wireless/ath/ath6kl/htc_pipe.c
··· 228 228 payload_len = packet->act_len; 229 229 230 230 /* setup HTC frame header */ 231 - htc_hdr = (struct htc_frame_hdr *) skb_push(skb, 232 - sizeof(*htc_hdr)); 231 + htc_hdr = skb_push(skb, sizeof(*htc_hdr)); 233 232 if (!htc_hdr) { 234 233 WARN_ON_ONCE(1); 235 234 status = -EINVAL;
+1 -1
drivers/net/wireless/ath/ath9k/hif_usb.c
··· 199 199 cmd->skb = skb; 200 200 cmd->hif_dev = hif_dev; 201 201 202 - hdr = (__le16 *) skb_push(skb, 4); 202 + hdr = skb_push(skb, 4); 203 203 *hdr++ = cpu_to_le16(skb->len - 4); 204 204 *hdr++ = cpu_to_le16(ATH_USB_TX_STREAM_MODE_TAG); 205 205
+1 -2
drivers/net/wireless/ath/ath9k/htc_hst.c
··· 26 26 struct htc_endpoint *endpoint = &target->endpoint[epid]; 27 27 int status; 28 28 29 - hdr = (struct htc_frame_hdr *) 30 - skb_push(skb, sizeof(struct htc_frame_hdr)); 29 + hdr = skb_push(skb, sizeof(struct htc_frame_hdr)); 31 30 hdr->endpoint_id = epid; 32 31 hdr->flags = flags; 33 32 hdr->payload_len = cpu_to_be16(len);
+1 -1
drivers/net/wireless/ath/ath9k/wmi.c
··· 277 277 struct wmi_cmd_hdr *hdr; 278 278 unsigned long flags; 279 279 280 - hdr = (struct wmi_cmd_hdr *) skb_push(skb, sizeof(struct wmi_cmd_hdr)); 280 + hdr = skb_push(skb, sizeof(struct wmi_cmd_hdr)); 281 281 hdr->command_id = cpu_to_be16(cmd); 282 282 hdr->seq_no = cpu_to_be16(++wmi->tx_seq_id); 283 283
+1 -1
drivers/net/wireless/ath/carl9170/tx.c
··· 991 991 else 992 992 cvif = NULL; 993 993 994 - txc = (void *)skb_push(skb, sizeof(*txc)); 994 + txc = skb_push(skb, sizeof(*txc)); 995 995 memset(txc, 0, sizeof(*txc)); 996 996 997 997 SET_VAL(CARL9170_TX_SUPER_MISC_QUEUE, txc->s.misc, hw_queue);
+1 -1
drivers/net/wireless/ath/wil6210/txrx.c
··· 363 363 return; 364 364 } 365 365 366 - rtap_vendor = (void *)skb_push(skb, rtap_len); 366 + rtap_vendor = skb_push(skb, rtap_len); 367 367 memset(rtap_vendor, 0, rtap_len); 368 368 369 369 rtap_vendor->rtap.rthdr.it_version = PKTHDR_RADIOTAP_VERSION;
+3 -5
drivers/net/wireless/intersil/hostap/hostap_80211_rx.c
··· 131 131 132 132 if (prism_header == 1) { 133 133 struct linux_wlan_ng_prism_hdr *hdr; 134 - hdr = (struct linux_wlan_ng_prism_hdr *) 135 - skb_push(skb, phdrlen); 134 + hdr = skb_push(skb, phdrlen); 136 135 memset(hdr, 0, phdrlen); 137 136 hdr->msgcode = LWNG_CAP_DID_BASE; 138 137 hdr->msglen = sizeof(*hdr); ··· 152 153 #undef LWNG_SETVAL 153 154 } else if (prism_header == 2) { 154 155 struct linux_wlan_ng_cap_hdr *hdr; 155 - hdr = (struct linux_wlan_ng_cap_hdr *) 156 - skb_push(skb, phdrlen); 156 + hdr = skb_push(skb, phdrlen); 157 157 memset(hdr, 0, phdrlen); 158 158 hdr->version = htonl(LWNG_CAPHDR_VERSION); 159 159 hdr->length = htonl(phdrlen); ··· 170 172 hdr->encoding = htonl(1); /* cck */ 171 173 } else if (prism_header == 3) { 172 174 struct hostap_radiotap_rx *hdr; 173 - hdr = (struct hostap_radiotap_rx *)skb_push(skb, phdrlen); 175 + hdr = skb_push(skb, phdrlen); 174 176 memset(hdr, 0, phdrlen); 175 177 hdr->hdr.it_len = cpu_to_le16(phdrlen); 176 178 hdr->hdr.it_present =
+3 -4
drivers/net/wireless/intersil/orinoco/main.c
··· 396 396 memcpy(hdr.encap, encaps_hdr, sizeof(encaps_hdr)); 397 397 398 398 /* Make room for the new header, and copy it in */ 399 - eh = (struct ethhdr *) skb_push(skb, ENCAPS_OVERHEAD); 399 + eh = skb_push(skb, ENCAPS_OVERHEAD); 400 400 memcpy(eh, &hdr, sizeof(hdr)); 401 401 } 402 402 ··· 1029 1029 /* These indicate a SNAP within 802.2 LLC within 1030 1030 802.11 frame which we'll need to de-encapsulate to 1031 1031 the original EthernetII frame. */ 1032 - hdr = (struct ethhdr *)skb_push(skb, 1033 - ETH_HLEN - ENCAPS_OVERHEAD); 1032 + hdr = skb_push(skb, ETH_HLEN - ENCAPS_OVERHEAD); 1034 1033 } else { 1035 1034 /* 802.3 frame - prepend 802.3 header as is */ 1036 - hdr = (struct ethhdr *)skb_push(skb, ETH_HLEN); 1035 + hdr = skb_push(skb, ETH_HLEN); 1037 1036 hdr->h_proto = htons(length); 1038 1037 } 1039 1038 memcpy(hdr->h_dest, desc->addr1, ETH_ALEN);
+2 -2
drivers/net/wireless/intersil/p54/txrx.c
··· 815 815 } 816 816 } 817 817 818 - txhdr = (struct p54_tx_data *) skb_push(skb, sizeof(*txhdr) + padding); 819 - hdr = (struct p54_hdr *) skb_push(skb, sizeof(*hdr)); 818 + txhdr = skb_push(skb, sizeof(*txhdr) + padding); 819 + hdr = skb_push(skb, sizeof(*hdr)); 820 820 821 821 if (padding) 822 822 hdr_flags |= P54_HDR_FLAG_DATA_ALIGN;
+1 -4
drivers/net/wireless/intersil/prism54/islpci_eth.c
··· 276 276 } 277 277 278 278 /* make room for the new header and fill it. */ 279 - avs = 280 - (struct avs_80211_1_header *) skb_push(*skb, 281 - sizeof (struct 282 - avs_80211_1_header)); 279 + avs = skb_push(*skb, sizeof(struct avs_80211_1_header)); 283 280 284 281 avs->version = cpu_to_be32(P80211CAPTURE_VERSION); 285 282 avs->length = cpu_to_be32(sizeof (struct avs_80211_1_header));
+2 -2
drivers/net/wireless/mac80211_hwsim.c
··· 848 848 if (skb == NULL) 849 849 return; 850 850 851 - hdr = (struct hwsim_radiotap_hdr *) skb_push(skb, sizeof(*hdr)); 851 + hdr = skb_push(skb, sizeof(*hdr)); 852 852 hdr->hdr.it_version = PKTHDR_RADIOTAP_VERSION; 853 853 hdr->hdr.it_pad = 0; 854 854 hdr->hdr.it_len = cpu_to_le16(sizeof(*hdr)); ··· 1146 1146 * Note that this code requires the headroom in the SKB 1147 1147 * that was allocated earlier. 1148 1148 */ 1149 - rtap = (void *)skb_push(skb, sizeof(*rtap) + 8 + 4); 1149 + rtap = skb_push(skb, sizeof(*rtap) + 8 + 4); 1150 1150 rtap->oui[0] = HWSIM_RADIOTAP_OUI[0]; 1151 1151 rtap->oui[1] = HWSIM_RADIOTAP_OUI[1]; 1152 1152 rtap->oui[2] = HWSIM_RADIOTAP_OUI[2];
+1 -1
drivers/net/wireless/marvell/libertas/rx.c
··· 257 257 goto done; 258 258 } 259 259 260 - pradiotap_hdr = (void *)skb_push(skb, sizeof(struct rx_radiotap_hdr)); 260 + pradiotap_hdr = skb_push(skb, sizeof(struct rx_radiotap_hdr)); 261 261 memcpy(pradiotap_hdr, &radiotap_hdr, sizeof(struct rx_radiotap_hdr)); 262 262 263 263 priv->cur_rate = lbs_fw_index_to_data_rate(prxpd->rx_rate);
+1 -1
drivers/net/wireless/marvell/libertas_tf/main.c
··· 260 260 261 261 len = skb->len; 262 262 info = IEEE80211_SKB_CB(skb); 263 - txpd = (struct txpd *) skb_push(skb, sizeof(struct txpd)); 263 + txpd = skb_push(skb, sizeof(struct txpd)); 264 264 265 265 if (priv->surpriseremoved) { 266 266 dev_kfree_skb_any(skb);
+1 -1
drivers/net/wireless/mediatek/mt7601u/tx.c
··· 148 148 u16 rate_ctl; 149 149 u8 nss; 150 150 151 - txwi = (struct mt76_txwi *)skb_push(skb, sizeof(struct mt76_txwi)); 151 + txwi = skb_push(skb, sizeof(struct mt76_txwi)); 152 152 memset(txwi, 0, sizeof(*txwi)); 153 153 154 154 if (!wcid->tx_rate_set)
+2 -4
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
··· 278 278 } 279 279 280 280 if (!priv->is_rtl8187b) { 281 - struct rtl8187_tx_hdr *hdr = 282 - (struct rtl8187_tx_hdr *)skb_push(skb, sizeof(*hdr)); 281 + struct rtl8187_tx_hdr *hdr = skb_push(skb, sizeof(*hdr)); 283 282 hdr->flags = cpu_to_le32(flags); 284 283 hdr->len = 0; 285 284 hdr->rts_duration = rts_dur; ··· 291 292 unsigned int epmap[4] = { 6, 7, 5, 4 }; 292 293 u16 fc = le16_to_cpu(tx_hdr->frame_control); 293 294 294 - struct rtl8187b_tx_hdr *hdr = 295 - (struct rtl8187b_tx_hdr *)skb_push(skb, sizeof(*hdr)); 295 + struct rtl8187b_tx_hdr *hdr = skb_push(skb, sizeof(*hdr)); 296 296 struct ieee80211_rate *txrate = 297 297 ieee80211_get_tx_rate(dev, info); 298 298 memset(hdr, 0, sizeof(*hdr));
+1 -1
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
··· 4952 4952 if (control && control->sta) 4953 4953 sta = control->sta; 4954 4954 4955 - tx_desc = (struct rtl8xxxu_txdesc32 *)skb_push(skb, tx_desc_size); 4955 + tx_desc = skb_push(skb, tx_desc_size); 4956 4956 4957 4957 memset(tx_desc, 0, tx_desc_size); 4958 4958 tx_desc->pkt_size = cpu_to_le16(pktlen);
+1 -1
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c
··· 512 512 513 513 seq_number = (le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4; 514 514 rtl_get_tcb_desc(hw, info, sta, skb, tcb_desc); 515 - txdesc = (u8 *)skb_push(skb, RTL_TX_HEADER_SIZE); 515 + txdesc = skb_push(skb, RTL_TX_HEADER_SIZE); 516 516 memset(txdesc, 0, RTL_TX_HEADER_SIZE); 517 517 SET_TX_DESC_PKT_SIZE(txdesc, pktlen); 518 518 SET_TX_DESC_LINIP(txdesc, 0);
+1 -1
drivers/net/wireless/st/cw1200/txrx.c
··· 574 574 return NULL; 575 575 } 576 576 577 - wsm = (struct wsm_tx *)skb_push(t->skb, sizeof(struct wsm_tx)); 577 + wsm = skb_push(t->skb, sizeof(struct wsm_tx)); 578 578 t->txpriv.offset += sizeof(struct wsm_tx); 579 579 memset(wsm, 0, sizeof(*wsm)); 580 580 wsm->hdr.len = __cpu_to_le16(t->skb->len);
+1 -2
drivers/net/wireless/ti/wl1251/tx.c
··· 161 161 return id; 162 162 163 163 fc = *(u16 *)skb->data; 164 - tx_hdr = (struct tx_double_buffer_desc *) skb_push(skb, 165 - sizeof(*tx_hdr)); 164 + tx_hdr = skb_push(skb, sizeof(*tx_hdr)); 166 165 167 166 tx_hdr->length = cpu_to_le16(skb->len - sizeof(*tx_hdr)); 168 167 rate = ieee80211_get_tx_rate(wl->hw, control);
+1 -1
drivers/net/wireless/ti/wlcore/cmd.c
··· 1282 1282 memset(skb_push(skb, sizeof(__le16)), 0, sizeof(__le16)); 1283 1283 1284 1284 /* mac80211 header */ 1285 - hdr = (struct ieee80211_hdr_3addr *)skb_push(skb, sizeof(*hdr)); 1285 + hdr = skb_push(skb, sizeof(*hdr)); 1286 1286 memset(hdr, 0, sizeof(*hdr)); 1287 1287 fc = IEEE80211_FTYPE_DATA | IEEE80211_FCTL_TODS; 1288 1288 if (wlvif->sta.qos)
+1 -2
drivers/net/wireless/ti/wlcore/tx.c
··· 223 223 total_blocks = wlcore_hw_calc_tx_blocks(wl, total_len, spare_blocks); 224 224 225 225 if (total_blocks <= wl->tx_blocks_available) { 226 - desc = (struct wl1271_tx_hw_descr *)skb_push( 227 - skb, total_len - skb->len); 226 + desc = skb_push(skb, total_len - skb->len); 228 227 229 228 wlcore_hw_set_tx_desc_blocks(wl, desc, total_blocks, 230 229 spare_blocks);
+1 -2
drivers/net/wireless/zydas/zd1211rw/zd_mac.c
··· 868 868 unsigned int frag_len = skb->len + FCS_LEN; 869 869 unsigned int packet_length; 870 870 struct ieee80211_rate *txrate; 871 - struct zd_ctrlset *cs = (struct zd_ctrlset *) 872 - skb_push(skb, sizeof(struct zd_ctrlset)); 871 + struct zd_ctrlset *cs = skb_push(skb, sizeof(struct zd_ctrlset)); 873 872 struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); 874 873 875 874 ZD_ASSERT(frag_len <= 0xffff);
+2 -2
drivers/nfc/fdp/i2c.c
··· 79 79 80 80 /* Add length header */ 81 81 len = skb->len; 82 - *skb_push(skb, 1) = len & 0xff; 83 - *skb_push(skb, 1) = len >> 8; 82 + *(u8 *)skb_push(skb, 1) = len & 0xff; 83 + *(u8 *)skb_push(skb, 1) = len >> 8; 84 84 85 85 /* Compute and add lrc */ 86 86 for (i = 0; i < len + 2; i++)
+1 -1
drivers/nfc/microread/i2c.c
··· 70 70 int len; 71 71 72 72 len = skb->len; 73 - *skb_push(skb, 1) = len; 73 + *(u8 *)skb_push(skb, 1) = len; 74 74 75 75 for (i = 0; i < skb->len; i++) 76 76 crc = crc ^ skb->data[i];
+2 -2
drivers/nfc/microread/microread.c
··· 419 419 pr_info("data exchange to gate 0x%x\n", target->hci_reader_gate); 420 420 421 421 if (target->hci_reader_gate == MICROREAD_GATE_ID_P2P_INITIATOR) { 422 - *skb_push(skb, 1) = 0; 422 + *(u8 *)skb_push(skb, 1) = 0; 423 423 424 424 return nfc_hci_send_event(hdev, target->hci_reader_gate, 425 425 MICROREAD_EVT_P2P_INITIATOR_EXCHANGE_TO_RF, ··· 453 453 return 1; 454 454 } 455 455 456 - *skb_push(skb, 1) = control_bits; 456 + *(u8 *)skb_push(skb, 1) = control_bits; 457 457 458 458 info->async_cb_type = MICROREAD_CB_TYPE_READER_ALL; 459 459 info->async_cb = cb;
+1 -1
drivers/nfc/nfcmrvl/main.c
··· 68 68 unsigned char *hdr; 69 69 unsigned char len = skb->len; 70 70 71 - hdr = (char *) skb_push(skb, NFCMRVL_HCI_EVENT_HEADER_SIZE); 71 + hdr = skb_push(skb, NFCMRVL_HCI_EVENT_HEADER_SIZE); 72 72 hdr[0] = NFCMRVL_HCI_COMMAND_CODE; 73 73 hdr[1] = NFCMRVL_HCI_OGF; 74 74 hdr[2] = NFCMRVL_HCI_OCF;
+4 -4
drivers/nfc/pn533/pn533.c
··· 2090 2090 2091 2091 /* MI + TG */ 2092 2092 if (frag_size == PN533_CMD_DATAFRAME_MAXLEN) 2093 - *skb_push(frag, sizeof(u8)) = 2094 - (PN533_CMD_MI_MASK | 1); 2093 + *(u8 *)skb_push(frag, sizeof(u8)) = 2094 + (PN533_CMD_MI_MASK | 1); 2095 2095 else 2096 - *skb_push(frag, sizeof(u8)) = 1; /* TG */ 2096 + *(u8 *)skb_push(frag, sizeof(u8)) = 1; /* TG */ 2097 2097 } 2098 2098 2099 2099 skb_put_data(frag, skb->data, frag_size); ··· 2160 2160 goto error; 2161 2161 } 2162 2162 } else { 2163 - *skb_push(skb, sizeof(u8)) = 1; /* TG */ 2163 + *(u8 *)skb_push(skb, sizeof(u8)) = 1; /* TG */ 2164 2164 } 2165 2165 2166 2166 rc = pn533_send_data_async(dev, PN533_CMD_IN_DATA_EXCHANGE,
+1 -1
drivers/nfc/pn544/i2c.c
··· 283 283 int len; 284 284 285 285 len = skb->len + 2; 286 - *skb_push(skb, 1) = len; 286 + *(u8 *)skb_push(skb, 1) = len; 287 287 288 288 crc = crc_ccitt(0xffff, skb->data, skb->len); 289 289 crc = ~crc;
+4 -4
drivers/nfc/pn544/pn544.c
··· 649 649 } else 650 650 return 1; 651 651 case PN544_RF_READER_F_GATE: 652 - *skb_push(skb, 1) = 0; 653 - *skb_push(skb, 1) = 0; 652 + *(u8 *)skb_push(skb, 1) = 0; 653 + *(u8 *)skb_push(skb, 1) = 0; 654 654 655 655 info->async_cb_type = PN544_CB_TYPE_READER_F; 656 656 info->async_cb = cb; ··· 665 665 PN544_JEWEL_RAW_CMD, skb->data, 666 666 skb->len, cb, cb_context); 667 667 case PN544_RF_READER_NFCIP1_INITIATOR_GATE: 668 - *skb_push(skb, 1) = 0; 668 + *(u8 *)skb_push(skb, 1) = 0; 669 669 670 670 return nfc_hci_send_event(hdev, target->hci_reader_gate, 671 671 PN544_HCI_EVT_SND_DATA, skb->data, ··· 680 680 int r; 681 681 682 682 /* Set default false for multiple information chaining */ 683 - *skb_push(skb, 1) = 0; 683 + *(u8 *)skb_push(skb, 1) = 0; 684 684 685 685 r = nfc_hci_send_event(hdev, PN544_RF_READER_NFCIP1_TARGET_GATE, 686 686 PN544_HCI_EVT_SND_DATA, skb->data, skb->len);
+1 -1
drivers/nfc/st-nci/ndlc.c
··· 87 87 u8 pcb = PCB_TYPE_DATAFRAME | PCB_DATAFRAME_RETRANSMIT_NO | 88 88 PCB_FRAME_CRC_INFO_NOTPRESENT; 89 89 90 - *skb_push(skb, 1) = pcb; 90 + *(u8 *)skb_push(skb, 1) = pcb; 91 91 skb_queue_tail(&ndlc->send_q, skb); 92 92 93 93 schedule_work(&ndlc->sm_work);
+3 -3
drivers/nfc/st21nfca/core.c
··· 782 782 if (target->supported_protocols == NFC_PROTO_NFC_DEP_MASK) 783 783 return st21nfca_im_send_dep_req(hdev, skb); 784 784 785 - *skb_push(skb, 1) = 0x1a; 785 + *(u8 *)skb_push(skb, 1) = 0x1a; 786 786 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, 787 787 ST21NFCA_WR_XCHG_DATA, skb->data, 788 788 skb->len, cb, cb_context); 789 789 case ST21NFCA_RF_READER_14443_3_A_GATE: 790 - *skb_push(skb, 1) = 0x1a; /* CTR, see spec:10.2.2.1 */ 790 + *(u8 *)skb_push(skb, 1) = 0x1a; /* CTR, see spec:10.2.2.1 */ 791 791 792 792 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, 793 793 ST21NFCA_WR_XCHG_DATA, skb->data, ··· 797 797 info->async_cb = cb; 798 798 info->async_cb_context = cb_context; 799 799 800 - *skb_push(skb, 1) = 0x17; 800 + *(u8 *)skb_push(skb, 1) = 0x17; 801 801 802 802 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, 803 803 ST21NFCA_WR_XCHG_DATA, skb->data,
+15 -15
drivers/nfc/st21nfca/dep.c
··· 315 315 int r; 316 316 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); 317 317 318 - *skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni; 319 - *skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_RES; 320 - *skb_push(skb, 1) = ST21NFCA_NFCIP1_RES; 321 - *skb_push(skb, 1) = skb->len; 318 + *(u8 *)skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni; 319 + *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_RES; 320 + *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_RES; 321 + *(u8 *)skb_push(skb, 1) = skb->len; 322 322 323 323 r = nfc_hci_send_event(hdev, ST21NFCA_RF_CARD_F_GATE, 324 324 ST21NFCA_EVT_SEND_DATA, skb->data, skb->len); ··· 466 466 psl_req->brs = (0x30 & bsi << 4) | (bri & 0x03); 467 467 psl_req->fsl = lri; 468 468 469 - *skb_push(skb, 1) = info->dep_info.to | 0x10; 469 + *(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; 470 470 471 471 st21nfca_im_send_pdu(info, skb); 472 472 } ··· 568 568 } 569 569 atr_req->length = sizeof(struct st21nfca_atr_req) + hdev->gb_len; 570 570 571 - *skb_push(skb, 1) = info->dep_info.to | 0x10; /* timeout */ 571 + *(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; /* timeout */ 572 572 573 573 info->async_cb_type = ST21NFCA_CB_TYPE_READER_F; 574 574 info->async_cb_context = info; ··· 629 629 case ST21NFCA_NFC_DEP_PFB_SUPERVISOR_PDU: 630 630 pr_err("Received a SUPERVISOR PDU\n"); 631 631 skb_pull(skb, size); 632 - *skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ; 633 - *skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ; 634 - *skb_push(skb, 1) = skb->len; 635 - *skb_push(skb, 1) = info->dep_info.to | 0x10; 632 + *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ; 633 + *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ; 634 + *(u8 *)skb_push(skb, 1) = skb->len; 635 + *(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; 636 636 637 637 st21nfca_im_send_pdu(info, skb); 638 638 break; ··· 655 655 info->async_cb_context = info; 656 656 info->async_cb = st21nfca_im_recv_dep_res_cb; 657 657 658 - *skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni; 659 - *skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ; 660 - *skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ; 661 - *skb_push(skb, 1) = skb->len; 658 + *(u8 *)skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni; 659 + *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ; 660 + *(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ; 661 + *(u8 *)skb_push(skb, 1) = skb->len; 662 662 663 - *skb_push(skb, 1) = info->dep_info.to | 0x10; 663 + *(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; 664 664 665 665 return nfc_hci_send_cmd_async(hdev, ST21NFCA_RF_READER_F_GATE, 666 666 ST21NFCA_WR_XCHG_DATA,
+2 -2
drivers/nfc/st21nfca/i2c.c
··· 171 171 u16 crc; 172 172 u8 tmp; 173 173 174 - *skb_push(skb, 1) = 0; 174 + *(u8 *)skb_push(skb, 1) = 0; 175 175 176 176 crc = crc_ccitt(0xffff, skb->data, skb->len); 177 177 crc = ~crc; ··· 216 216 /* add ST21NFCA_SOF_EOF on tail */ 217 217 *(u8 *)skb_put(skb, 1) = ST21NFCA_SOF_EOF; 218 218 /* add ST21NFCA_SOF_EOF on head */ 219 - *skb_push(skb, 1) = ST21NFCA_SOF_EOF; 219 + *(u8 *)skb_push(skb, 1) = ST21NFCA_SOF_EOF; 220 220 221 221 /* 222 222 * Compute byte stuffing
+1 -2
drivers/s390/net/qeth_l2_main.c
··· 759 759 sizeof(struct qeth_hdr)); 760 760 if (!new_skb) 761 761 goto tx_drop; 762 - hdr = (struct qeth_hdr *)skb_push(new_skb, 763 - sizeof(struct qeth_hdr)); 762 + hdr = skb_push(new_skb, sizeof(struct qeth_hdr)); 764 763 skb_set_mac_header(new_skb, sizeof(struct qeth_hdr)); 765 764 qeth_l2_fill_header(card, hdr, new_skb, cast_type); 766 765 if (new_skb->ip_summed == CHECKSUM_PARTIAL)
+2 -4
drivers/s390/net/qeth_l3_main.c
··· 2729 2729 } 2730 2730 2731 2731 if (use_tso) { 2732 - hdr = (struct qeth_hdr *)skb_push(new_skb, 2733 - sizeof(struct qeth_hdr_tso)); 2732 + hdr = skb_push(new_skb, sizeof(struct qeth_hdr_tso)); 2734 2733 memset(hdr, 0, sizeof(struct qeth_hdr_tso)); 2735 2734 qeth_l3_fill_header(card, hdr, new_skb, ipv, cast_type); 2736 2735 qeth_tso_fill_header(card, hdr, new_skb); 2737 2736 hdr_elements++; 2738 2737 } else { 2739 2738 if (data_offset < 0) { 2740 - hdr = (struct qeth_hdr *)skb_push(new_skb, 2741 - sizeof(struct qeth_hdr)); 2739 + hdr = skb_push(new_skb, sizeof(struct qeth_hdr)); 2742 2740 qeth_l3_fill_header(card, hdr, new_skb, ipv, 2743 2741 cast_type); 2744 2742 } else {
+1 -1
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
··· 354 354 struct l2t_entry *l2t = csk->l2t; 355 355 356 356 skb_reset_transport_header(skb); 357 - req = (struct tx_data_wr *)__skb_push(skb, sizeof(*req)); 357 + req = __skb_push(skb, sizeof(*req)); 358 358 req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA) | 359 359 (req_completion ? F_WR_COMPL : 0)); 360 360 req->wr_lo = htonl(V_WR_TID(csk->tid));
+1 -1
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
··· 644 644 unsigned int wr_ulp_mode = 0, val; 645 645 bool imm = is_ofld_imm(skb); 646 646 647 - req = (struct fw_ofld_tx_data_wr *)__skb_push(skb, sizeof(*req)); 647 + req = __skb_push(skb, sizeof(*req)); 648 648 649 649 if (imm) { 650 650 req->op_to_immdlen = htonl(FW_WR_OP_V(FW_OFLD_TX_DATA_WR) |
+1 -1
drivers/scsi/fcoe/fcoe_ctlr.c
··· 626 626 fh = (struct fc_frame_header *)skb->data; 627 627 op = *(u8 *)(fh + 1); 628 628 dlen = sizeof(struct fip_encaps) + skb->len; /* len before push */ 629 - cap = (struct fip_encaps_head *)skb_push(skb, sizeof(*cap)); 629 + cap = skb_push(skb, sizeof(*cap)); 630 630 memset(cap, 0, sizeof(*cap)); 631 631 632 632 if (lport->point_to_multipoint) {
+3 -4
drivers/scsi/fnic/fnic_fcs.c
··· 1000 1000 1001 1001 if (!fnic->vlan_hw_insert) { 1002 1002 eth_hdr = (struct ethhdr *)skb_mac_header(skb); 1003 - vlan_hdr = (struct vlan_ethhdr *)skb_push(skb, 1004 - sizeof(*vlan_hdr) - sizeof(*eth_hdr)); 1003 + vlan_hdr = skb_push(skb, sizeof(*vlan_hdr) - sizeof(*eth_hdr)); 1005 1004 memcpy(vlan_hdr, eth_hdr, 2 * ETH_ALEN); 1006 1005 vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q); 1007 1006 vlan_hdr->h_vlan_encapsulated_proto = eth_hdr->h_proto; ··· 1066 1067 1067 1068 if (!fnic->vlan_hw_insert) { 1068 1069 eth_hdr_len = sizeof(*vlan_hdr) + sizeof(*fcoe_hdr); 1069 - vlan_hdr = (struct vlan_ethhdr *)skb_push(skb, eth_hdr_len); 1070 + vlan_hdr = skb_push(skb, eth_hdr_len); 1070 1071 eth_hdr = (struct ethhdr *)vlan_hdr; 1071 1072 vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q); 1072 1073 vlan_hdr->h_vlan_encapsulated_proto = htons(ETH_P_FCOE); ··· 1074 1075 fcoe_hdr = (struct fcoe_hdr *)(vlan_hdr + 1); 1075 1076 } else { 1076 1077 eth_hdr_len = sizeof(*eth_hdr) + sizeof(*fcoe_hdr); 1077 - eth_hdr = (struct ethhdr *)skb_push(skb, eth_hdr_len); 1078 + eth_hdr = skb_push(skb, eth_hdr_len); 1078 1079 eth_hdr->h_proto = htons(ETH_P_FCOE); 1079 1080 fcoe_hdr = (struct fcoe_hdr *)(eth_hdr + 1); 1080 1081 }
+1 -2
drivers/scsi/qedf/qedf_fip.c
··· 125 125 sub = fiph->fip_subcode; 126 126 127 127 if (!qedf->vlan_hw_insert) { 128 - vlan_hdr = (struct vlan_ethhdr *)skb_push(skb, sizeof(*vlan_hdr) 129 - - sizeof(*eth_hdr)); 128 + vlan_hdr = skb_push(skb, sizeof(*vlan_hdr) - sizeof(*eth_hdr)); 130 129 memcpy(vlan_hdr, eth_hdr, 2 * ETH_ALEN); 131 130 vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q); 132 131 vlan_hdr->h_vlan_encapsulated_proto = eth_hdr->h_proto;
+3 -3
drivers/staging/wilc1000/linux_mon.c
··· 74 74 75 75 skb_put_data(skb, buff, size); 76 76 77 - cb_hdr = (struct wilc_wfi_radiotap_cb_hdr *)skb_push(skb, sizeof(*cb_hdr)); 77 + cb_hdr = skb_push(skb, sizeof(*cb_hdr)); 78 78 memset(cb_hdr, 0, sizeof(struct wilc_wfi_radiotap_cb_hdr)); 79 79 80 80 cb_hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */ ··· 101 101 return; 102 102 103 103 skb_put_data(skb, buff, size); 104 - hdr = (struct wilc_wfi_radiotap_hdr *)skb_push(skb, sizeof(*hdr)); 104 + hdr = skb_push(skb, sizeof(*hdr)); 105 105 memset(hdr, 0, sizeof(struct wilc_wfi_radiotap_hdr)); 106 106 hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */ 107 107 hdr->hdr.it_len = cpu_to_le16(sizeof(struct wilc_wfi_radiotap_hdr)); ··· 202 202 203 203 skb_put_data(skb2, skb->data, skb->len); 204 204 205 - cb_hdr = (struct wilc_wfi_radiotap_cb_hdr *)skb_push(skb2, sizeof(*cb_hdr)); 205 + cb_hdr = skb_push(skb2, sizeof(*cb_hdr)); 206 206 memset(cb_hdr, 0, sizeof(struct wilc_wfi_radiotap_cb_hdr)); 207 207 208 208 cb_hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */
+5 -9
drivers/staging/wlan-ng/p80211conv.c
··· 148 148 skb_pull(skb, ETH_HLEN); 149 149 150 150 /* tack on SNAP */ 151 - e_snap = 152 - (struct wlan_snap *)skb_push(skb, 153 - sizeof(struct wlan_snap)); 151 + e_snap = skb_push(skb, sizeof(struct wlan_snap)); 154 152 e_snap->type = htons(proto); 155 153 if (ethconv == WLAN_ETHCONV_8021h && 156 154 p80211_stt_findproto(proto)) { ··· 160 162 } 161 163 162 164 /* tack on llc */ 163 - e_llc = 164 - (struct wlan_llc *)skb_push(skb, 165 - sizeof(struct wlan_llc)); 165 + e_llc = skb_push(skb, sizeof(struct wlan_llc)); 166 166 e_llc->dsap = 0xAA; /* SNAP, see IEEE 802 */ 167 167 e_llc->ssap = 0xAA; 168 168 e_llc->ctl = 0x03; ··· 403 407 skb_pull(skb, payload_offset); 404 408 405 409 /* create 802.3 header at beginning of skb. */ 406 - e_hdr = (struct wlan_ethhdr *)skb_push(skb, ETH_HLEN); 410 + e_hdr = skb_push(skb, ETH_HLEN); 407 411 ether_addr_copy(e_hdr->daddr, daddr); 408 412 ether_addr_copy(e_hdr->saddr, saddr); 409 413 e_hdr->type = htons(payload_length); ··· 444 448 skb_pull(skb, sizeof(struct wlan_snap)); 445 449 446 450 /* create 802.3 header at beginning of skb. */ 447 - e_hdr = (struct wlan_ethhdr *)skb_push(skb, ETH_HLEN); 451 + e_hdr = skb_push(skb, ETH_HLEN); 448 452 e_hdr->type = e_snap->type; 449 453 ether_addr_copy(e_hdr->daddr, daddr); 450 454 ether_addr_copy(e_hdr->saddr, saddr); ··· 471 475 skb_pull(skb, payload_offset); 472 476 473 477 /* create 802.3 header at beginning of skb. */ 474 - e_hdr = (struct wlan_ethhdr *)skb_push(skb, ETH_HLEN); 478 + e_hdr = skb_push(skb, ETH_HLEN); 475 479 ether_addr_copy(e_hdr->daddr, daddr); 476 480 ether_addr_copy(e_hdr->saddr, saddr); 477 481 e_hdr->type = htons(payload_length);
+2 -3
drivers/target/iscsi/cxgbit/cxgbit_target.c
··· 136 136 unsigned int fslice = !!(iso_info->flags & CXGBIT_ISO_FSLICE); 137 137 unsigned int lslice = !!(iso_info->flags & CXGBIT_ISO_LSLICE); 138 138 139 - cpl = (struct cpl_tx_data_iso *)__skb_push(skb, sizeof(*cpl)); 139 + cpl = __skb_push(skb, sizeof(*cpl)); 140 140 141 141 cpl->op_to_scsi = htonl(CPL_TX_DATA_ISO_OP_V(CPL_TX_DATA_ISO) | 142 142 CPL_TX_DATA_ISO_FIRST_V(fslice) | ··· 183 183 if (cxgbit_is_ofld_imm(skb)) 184 184 immlen += dlen; 185 185 186 - req = (struct fw_ofld_tx_data_wr *)__skb_push(skb, 187 - hdr_size); 186 + req = __skb_push(skb, hdr_size); 188 187 req->op_to_immdlen = cpu_to_be32(FW_WR_OP_V(opcode) | 189 188 FW_WR_COMPL_V(compl) | 190 189 FW_WR_IMMDLEN_V(immlen));
+1 -1
drivers/usb/gadget/function/rndis.c
··· 999 999 1000 1000 if (!skb) 1001 1001 return; 1002 - header = (void *)skb_push(skb, sizeof(*header)); 1002 + header = skb_push(skb, sizeof(*header)); 1003 1003 memset(header, 0, sizeof *header); 1004 1004 header->MessageType = cpu_to_le32(RNDIS_MSG_PACKET); 1005 1005 header->MessageLength = cpu_to_le32(skb->len);
+1 -1
include/linux/if_vlan.h
··· 318 318 if (skb_cow_head(skb, VLAN_HLEN) < 0) 319 319 return -ENOMEM; 320 320 321 - veth = (struct vlan_ethhdr *)skb_push(skb, VLAN_HLEN); 321 + veth = skb_push(skb, VLAN_HLEN); 322 322 323 323 /* Move the mac addresses to the beginning of the new header. */ 324 324 memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
+3 -4
include/linux/skbuff.h
··· 1923 1923 return tmp; 1924 1924 } 1925 1925 1926 - unsigned char *skb_push(struct sk_buff *skb, unsigned int len); 1927 - static inline unsigned char *__skb_push(struct sk_buff *skb, unsigned int len) 1926 + void *skb_push(struct sk_buff *skb, unsigned int len); 1927 + static inline void *__skb_push(struct sk_buff *skb, unsigned int len) 1928 1928 { 1929 1929 skb->data -= len; 1930 1930 skb->len += len; ··· 2951 2951 * that the checksum difference is zero (e.g., a valid IP header) 2952 2952 * or you are setting ip_summed to CHECKSUM_NONE. 2953 2953 */ 2954 - static inline unsigned char *skb_push_rcsum(struct sk_buff *skb, 2955 - unsigned int len) 2954 + static inline void *skb_push_rcsum(struct sk_buff *skb, unsigned int len) 2956 2955 { 2957 2956 skb_push(skb, len); 2958 2957 skb_postpush_rcsum(skb, skb->data, len);
+2 -2
net/802/fc.c
··· 49 49 struct fcllc *fcllc; 50 50 51 51 hdr_len = sizeof(struct fch_hdr) + sizeof(struct fcllc); 52 - fch = (struct fch_hdr *)skb_push(skb, hdr_len); 52 + fch = skb_push(skb, hdr_len); 53 53 fcllc = (struct fcllc *)(fch+1); 54 54 fcllc->dsap = fcllc->ssap = EXTENDED_SAP; 55 55 fcllc->llc = UI_CMD; ··· 59 59 else 60 60 { 61 61 hdr_len = sizeof(struct fch_hdr); 62 - fch = (struct fch_hdr *)skb_push(skb, hdr_len); 62 + fch = skb_push(skb, hdr_len); 63 63 } 64 64 65 65 if(saddr)
+1 -1
net/802/fddi.c
··· 58 58 59 59 if(type != ETH_P_IP && type != ETH_P_IPV6 && type != ETH_P_ARP) 60 60 hl=FDDI_K_8022_HLEN-3; 61 - fddi = (struct fddihdr *)skb_push(skb, hl); 61 + fddi = skb_push(skb, hl); 62 62 fddi->fc = FDDI_FC_K_ASYNC_LLC_DEF; 63 63 if(type == ETH_P_IP || type == ETH_P_IPV6 || type == ETH_P_ARP) 64 64 {
+1 -1
net/802/hippi.c
··· 47 47 unsigned short type, 48 48 const void *daddr, const void *saddr, unsigned int len) 49 49 { 50 - struct hippi_hdr *hip = (struct hippi_hdr *)skb_push(skb, HIPPI_HLEN); 50 + struct hippi_hdr *hip = skb_push(skb, HIPPI_HLEN); 51 51 struct hippi_cb *hcb = (struct hippi_cb *) skb->cb; 52 52 53 53 if (!len){
+1 -1
net/8021q/vlan_dev.c
··· 58 58 int rc; 59 59 60 60 if (!(vlan->flags & VLAN_FLAG_REORDER_HDR)) { 61 - vhdr = (struct vlan_hdr *) skb_push(skb, VLAN_HLEN); 61 + vhdr = skb_push(skb, VLAN_HLEN); 62 62 63 63 vlan_tci = vlan->vlan_id; 64 64 vlan_tci |= vlan_dev_get_egress_qos_mask(dev, skb->priority);
+1 -1
net/appletalk/ddp.c
··· 1529 1529 * The push leaves us with a ddephdr not an shdr, and 1530 1530 * handily the port bytes in the right place preset. 1531 1531 */ 1532 - ddp = (struct ddpehdr *) skb_push(skb, sizeof(*ddp) - 4); 1532 + ddp = skb_push(skb, sizeof(*ddp) - 4); 1533 1533 1534 1534 /* Now fill in the long header */ 1535 1535
+1 -1
net/ax25/af_ax25.c
··· 1562 1562 1563 1563 /* Add the PID if one is not supplied by the user in the skb */ 1564 1564 if (!ax25->pidincl) 1565 - *skb_push(skb, 1) = sk->sk_protocol; 1565 + *(u8 *)skb_push(skb, 1) = sk->sk_protocol; 1566 1566 1567 1567 if (sk->sk_type == SOCK_SEQPACKET) { 1568 1568 /* Connected mode sockets go via the LAPB machine */
+6 -6
net/bluetooth/hci_sock.c
··· 332 332 return; 333 333 334 334 /* Put header before the data */ 335 - hdr = (void *)skb_push(skb_copy, HCI_MON_HDR_SIZE); 335 + hdr = skb_push(skb_copy, HCI_MON_HDR_SIZE); 336 336 hdr->opcode = opcode; 337 337 hdr->index = cpu_to_le16(hdev->id); 338 338 hdr->len = cpu_to_le16(skb->len); ··· 383 383 384 384 skb->tstamp = tstamp; 385 385 386 - hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE); 386 + hdr = skb_push(skb, HCI_MON_HDR_SIZE); 387 387 hdr->opcode = cpu_to_le16(HCI_MON_CTRL_EVENT); 388 388 hdr->index = index; 389 389 hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE); ··· 467 467 468 468 __net_timestamp(skb); 469 469 470 - hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE); 470 + hdr = skb_push(skb, HCI_MON_HDR_SIZE); 471 471 hdr->opcode = opcode; 472 472 hdr->index = cpu_to_le16(hdev->id); 473 473 hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE); ··· 522 522 523 523 __net_timestamp(skb); 524 524 525 - hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE); 525 + hdr = skb_push(skb, HCI_MON_HDR_SIZE); 526 526 hdr->opcode = cpu_to_le16(HCI_MON_CTRL_OPEN); 527 527 if (hci_pi(sk)->hdev) 528 528 hdr->index = cpu_to_le16(hci_pi(sk)->hdev->id); ··· 560 560 561 561 __net_timestamp(skb); 562 562 563 - hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE); 563 + hdr = skb_push(skb, HCI_MON_HDR_SIZE); 564 564 hdr->opcode = cpu_to_le16(HCI_MON_CTRL_CLOSE); 565 565 if (hci_pi(sk)->hdev) 566 566 hdr->index = cpu_to_le16(hci_pi(sk)->hdev->id); ··· 590 590 591 591 __net_timestamp(skb); 592 592 593 - hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE); 593 + hdr = skb_push(skb, HCI_MON_HDR_SIZE); 594 594 hdr->opcode = cpu_to_le16(HCI_MON_CTRL_COMMAND); 595 595 hdr->index = cpu_to_le16(index); 596 596 hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
+1 -1
net/bluetooth/mgmt_util.c
··· 48 48 49 49 __net_timestamp(skb); 50 50 51 - hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE); 51 + hdr = skb_push(skb, HCI_MON_HDR_SIZE); 52 52 hdr->opcode = cpu_to_le16(HCI_MON_CTRL_EVENT); 53 53 hdr->index = index; 54 54 hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
+2 -2
net/bluetooth/rfcomm/core.c
··· 1149 1149 u8 *crc; 1150 1150 1151 1151 if (len > 127) { 1152 - hdr = (void *) skb_push(skb, 4); 1152 + hdr = skb_push(skb, 4); 1153 1153 put_unaligned(cpu_to_le16(__len16(len)), (__le16 *) &hdr->len); 1154 1154 } else { 1155 - hdr = (void *) skb_push(skb, 3); 1155 + hdr = skb_push(skb, 3); 1156 1156 hdr->len = __len8(len); 1157 1157 } 1158 1158 hdr->addr = addr;
+1 -1
net/bridge/netfilter/nft_reject_bridge.c
··· 28 28 { 29 29 struct ethhdr *eth; 30 30 31 - eth = (struct ethhdr *)skb_push(nskb, ETH_HLEN); 31 + eth = skb_push(nskb, ETH_HLEN); 32 32 skb_reset_mac_header(nskb); 33 33 ether_addr_copy(eth->h_source, eth_hdr(oldskb)->h_dest); 34 34 ether_addr_copy(eth->h_dest, eth_hdr(oldskb)->h_source);
+2 -2
net/core/netpoll.c
··· 441 441 ip6h->saddr = np->local_ip.in6; 442 442 ip6h->daddr = np->remote_ip.in6; 443 443 444 - eth = (struct ethhdr *) skb_push(skb, ETH_HLEN); 444 + eth = skb_push(skb, ETH_HLEN); 445 445 skb_reset_mac_header(skb); 446 446 skb->protocol = eth->h_proto = htons(ETH_P_IPV6); 447 447 } else { ··· 470 470 put_unaligned(np->remote_ip.ip, &(iph->daddr)); 471 471 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); 472 472 473 - eth = (struct ethhdr *) skb_push(skb, ETH_HLEN); 473 + eth = skb_push(skb, ETH_HLEN); 474 474 skb_reset_mac_header(skb); 475 475 skb->protocol = eth->h_proto = htons(ETH_P_IP); 476 476 }
+3 -3
net/core/pktgen.c
··· 2675 2675 goto err; 2676 2676 } 2677 2677 /* restore ll */ 2678 - eth = (struct ethhdr *)skb_push(skb, ETH_HLEN); 2678 + eth = skb_push(skb, ETH_HLEN); 2679 2679 memcpy(eth, pkt_dev->hh, 2 * ETH_ALEN); 2680 2680 eth->h_proto = protocol; 2681 2681 ··· 2844 2844 skb_reserve(skb, 16); 2845 2845 2846 2846 /* Reserve for ethernet and IP header */ 2847 - eth = (__u8 *) skb_push(skb, 14); 2847 + eth = skb_push(skb, 14); 2848 2848 mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32)); 2849 2849 if (pkt_dev->nr_labels) 2850 2850 mpls_push(mpls, pkt_dev); ··· 2972 2972 skb_reserve(skb, 16); 2973 2973 2974 2974 /* Reserve for ethernet and IP header */ 2975 - eth = (__u8 *) skb_push(skb, 14); 2975 + eth = skb_push(skb, 14); 2976 2976 mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32)); 2977 2977 if (pkt_dev->nr_labels) 2978 2978 mpls_push(mpls, pkt_dev);
+1 -1
net/core/skbuff.c
··· 1461 1461 * start. If this would exceed the total buffer headroom the kernel will 1462 1462 * panic. A pointer to the first byte of the extra data is returned. 1463 1463 */ 1464 - unsigned char *skb_push(struct sk_buff *skb, unsigned int len) 1464 + void *skb_push(struct sk_buff *skb, unsigned int len) 1465 1465 { 1466 1466 skb->data -= len; 1467 1467 skb->len += len;
+1 -1
net/dccp/options.c
··· 484 484 return -1; 485 485 486 486 DCCP_SKB_CB(skb)->dccpd_opt_len++; 487 - *skb_push(skb, 1) = DCCPO_MANDATORY; 487 + *(u8 *)skb_push(skb, 1) = DCCPO_MANDATORY; 488 488 return 0; 489 489 } 490 490
+2 -2
net/decnet/dn_dev.c
··· 867 867 msg->datalen = 0x02; 868 868 memset(msg->data, 0xAA, 2); 869 869 870 - pktlen = (__le16 *)skb_push(skb,2); 870 + pktlen = skb_push(skb, 2); 871 871 *pktlen = cpu_to_le16(skb->len - 2); 872 872 873 873 skb_reset_network_header(skb); ··· 959 959 960 960 skb_trim(skb, (27 + *i2)); 961 961 962 - pktlen = (__le16 *)skb_push(skb, 2); 962 + pktlen = skb_push(skb, 2); 963 963 *pktlen = cpu_to_le16(skb->len - 2); 964 964 965 965 skb_reset_network_header(skb);
+1 -1
net/ethernet/eth.c
··· 83 83 unsigned short type, 84 84 const void *daddr, const void *saddr, unsigned int len) 85 85 { 86 - struct ethhdr *eth = (struct ethhdr *)skb_push(skb, ETH_HLEN); 86 + struct ethhdr *eth = skb_push(skb, ETH_HLEN); 87 87 88 88 if (type != ETH_P_802_3 && type != ETH_P_802_2) 89 89 eth->h_proto = htons(type);
+1 -1
net/ipv4/esp4.c
··· 609 609 * decryption. 610 610 */ 611 611 if ((x->props.flags & XFRM_STATE_ESN)) { 612 - esph = (void *)skb_push(skb, 4); 612 + esph = skb_push(skb, 4); 613 613 *seqhi = esph->spi; 614 614 esph->spi = esph->seq_no; 615 615 esph->seq_no = XFRM_SKB_CB(skb)->seq.input.hi;
+1 -1
net/ipv4/ip_gre.c
··· 592 592 struct iphdr *iph; 593 593 struct gre_base_hdr *greh; 594 594 595 - iph = (struct iphdr *)skb_push(skb, t->hlen + sizeof(*iph)); 595 + iph = skb_push(skb, t->hlen + sizeof(*iph)); 596 596 greh = (struct gre_base_hdr *)(iph+1); 597 597 greh->flags = gre_tnl_flags_to_gre_flags(t->parms.o_flags); 598 598 greh->protocol = htons(type);
+1 -1
net/ipv6/esp6.c
··· 538 538 * decryption. 539 539 */ 540 540 if ((x->props.flags & XFRM_STATE_ESN)) { 541 - esph = (void *)skb_push(skb, 4); 541 + esph = skb_push(skb, 4); 542 542 *seqhi = esph->spi; 543 543 esph->spi = esph->seq_no; 544 544 esph->seq_no = XFRM_SKB_CB(skb)->seq.input.hi;
+3 -3
net/ipv6/exthdrs.c
··· 847 847 848 848 ihdr = (struct rt0_hdr *) opt; 849 849 850 - phdr = (struct rt0_hdr *) skb_push(skb, (ihdr->rt_hdr.hdrlen + 1) << 3); 850 + phdr = skb_push(skb, (ihdr->rt_hdr.hdrlen + 1) << 3); 851 851 memcpy(phdr, ihdr, sizeof(struct rt0_hdr)); 852 852 853 853 hops = ihdr->rt_hdr.hdrlen >> 1; ··· 873 873 sr_ihdr = (struct ipv6_sr_hdr *)opt; 874 874 plen = (sr_ihdr->hdrlen + 1) << 3; 875 875 876 - sr_phdr = (struct ipv6_sr_hdr *)skb_push(skb, plen); 876 + sr_phdr = skb_push(skb, plen); 877 877 memcpy(sr_phdr, sr_ihdr, sizeof(struct ipv6_sr_hdr)); 878 878 879 879 hops = sr_ihdr->first_segment + 1; ··· 923 923 924 924 static void ipv6_push_exthdr(struct sk_buff *skb, u8 *proto, u8 type, struct ipv6_opt_hdr *opt) 925 925 { 926 - struct ipv6_opt_hdr *h = (struct ipv6_opt_hdr *)skb_push(skb, ipv6_optlen(opt)); 926 + struct ipv6_opt_hdr *h = skb_push(skb, ipv6_optlen(opt)); 927 927 928 928 memcpy(h, opt, ipv6_optlen(opt)); 929 929 h->nexthdr = *proto;
+1 -1
net/ipv6/ip6_gre.c
··· 942 942 const void *daddr, const void *saddr, unsigned int len) 943 943 { 944 944 struct ip6_tnl *t = netdev_priv(dev); 945 - struct ipv6hdr *ipv6h = (struct ipv6hdr *)skb_push(skb, t->hlen); 945 + struct ipv6hdr *ipv6h = skb_push(skb, t->hlen); 946 946 __be16 *p = (__be16 *)(ipv6h+1); 947 947 948 948 ip6_flow_hdr(ipv6h, 0,
+2 -2
net/ipv6/ip6_output.c
··· 682 682 skb_frag_list_init(skb); 683 683 684 684 __skb_pull(skb, hlen); 685 - fh = (struct frag_hdr *)__skb_push(skb, sizeof(struct frag_hdr)); 685 + fh = __skb_push(skb, sizeof(struct frag_hdr)); 686 686 __skb_push(skb, hlen); 687 687 skb_reset_network_header(skb); 688 688 memcpy(skb_network_header(skb), tmp_hdr, hlen); ··· 706 706 if (frag) { 707 707 frag->ip_summed = CHECKSUM_NONE; 708 708 skb_reset_transport_header(frag); 709 - fh = (struct frag_hdr *)__skb_push(frag, sizeof(struct frag_hdr)); 709 + fh = __skb_push(frag, sizeof(struct frag_hdr)); 710 710 __skb_push(frag, hlen); 711 711 skb_reset_network_header(frag); 712 712 memcpy(skb_network_header(frag), tmp_hdr,
+1 -1
net/ipv6/tcp_ipv6.c
··· 789 789 790 790 skb_reserve(buff, MAX_HEADER + sizeof(struct ipv6hdr) + tot_len); 791 791 792 - t1 = (struct tcphdr *) skb_push(buff, tot_len); 792 + t1 = skb_push(buff, tot_len); 793 793 skb_reset_transport_header(buff); 794 794 795 795 /* Swap the send and the receive. */
+1 -1
net/irda/irnet/irnet_irda.c
··· 1065 1065 if(p[0] & 1) 1066 1066 { 1067 1067 /* protocol is compressed */ 1068 - skb_push(skb, 1)[0] = 0; 1068 + *(u8 *)skb_push(skb, 1) = 0; 1069 1069 } 1070 1070 else 1071 1071 if(skb->len < 2)
+1 -2
net/iucv/af_iucv.c
··· 322 322 int err, confirm_recv = 0; 323 323 324 324 memset(skb->head, 0, ETH_HLEN); 325 - phs_hdr = (struct af_iucv_trans_hdr *)skb_push(skb, 326 - sizeof(struct af_iucv_trans_hdr)); 325 + phs_hdr = skb_push(skb, sizeof(struct af_iucv_trans_hdr)); 327 326 skb_reset_mac_header(skb); 328 327 skb_reset_network_header(skb); 329 328 skb_push(skb, ETH_HLEN);
+1 -1
net/mac80211/rx.c
··· 273 273 if (!(has_fcs && ieee80211_hw_check(&local->hw, RX_INCLUDES_FCS))) 274 274 mpdulen += FCS_LEN; 275 275 276 - rthdr = (struct ieee80211_radiotap_header *)skb_push(skb, rtap_len); 276 + rthdr = skb_push(skb, rtap_len); 277 277 memset(rthdr, 0, rtap_len - rtap.len - rtap.pad); 278 278 it_present = &rthdr->it_present; 279 279
+1 -1
net/mac80211/status.c
··· 288 288 unsigned char *pos; 289 289 u16 txflags; 290 290 291 - rthdr = (struct ieee80211_radiotap_header *) skb_push(skb, rtap_len); 291 + rthdr = skb_push(skb, rtap_len); 292 292 293 293 memset(rthdr, 0, rtap_len); 294 294 rthdr->it_len = cpu_to_le16(rtap_len);
+2 -2
net/mac80211/tx.c
··· 2708 2708 if (ieee80211_is_data_qos(fc)) { 2709 2709 __le16 *qos_control; 2710 2710 2711 - qos_control = (__le16 *) skb_push(skb, 2); 2711 + qos_control = skb_push(skb, 2); 2712 2712 memcpy(skb_push(skb, hdrlen - 2), &hdr, hdrlen - 2); 2713 2713 /* 2714 2714 * Maybe we could actually set some fields here, for now just ··· 3347 3347 } 3348 3348 3349 3349 memcpy(&eth, skb->data, ETH_HLEN - 2); 3350 - hdr = (void *)skb_push(skb, extra_head); 3350 + hdr = skb_push(skb, extra_head); 3351 3351 memcpy(skb->data, fast_tx->hdr, fast_tx->hdr_len); 3352 3352 memcpy(skb->data + fast_tx->da_offs, eth.h_dest, ETH_ALEN); 3353 3353 memcpy(skb->data + fast_tx->sa_offs, eth.h_source, ETH_ALEN);
+1 -1
net/ncsi/ncsi-cmd.c
··· 331 331 } 332 332 333 333 /* Fill the ethernet header */ 334 - eh = (struct ethhdr *)skb_push(nr->cmd, sizeof(*eh)); 334 + eh = skb_push(nr->cmd, sizeof(*eh)); 335 335 eh->h_proto = htons(ETH_P_NCSI); 336 336 eth_broadcast_addr(eh->h_dest); 337 337 eth_broadcast_addr(eh->h_source);
+1 -1
net/nfc/digital_dep.c
··· 185 185 skb->data[0] = skb->len; 186 186 187 187 if (ddev->curr_rf_tech == NFC_DIGITAL_RF_TECH_106A) 188 - *skb_push(skb, sizeof(u8)) = DIGITAL_NFC_DEP_NFCA_SOD_SB; 188 + *(u8 *)skb_push(skb, sizeof(u8)) = DIGITAL_NFC_DEP_NFCA_SOD_SB; 189 189 } 190 190 191 191 static int digital_skb_pull_dep_sod(struct nfc_digital_dev *ddev,
+2 -2
net/nfc/digital_technology.c
··· 828 828 sensf_req->rc = 0; 829 829 sensf_req->tsn = 0; 830 830 831 - *skb_push(skb, 1) = size + 1; 831 + *(u8 *)skb_push(skb, 1) = size + 1; 832 832 833 833 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) 834 834 digital_skb_add_crc_f(skb); ··· 1161 1161 break; 1162 1162 } 1163 1163 1164 - *skb_push(skb, sizeof(u8)) = size + 1; 1164 + *(u8 *)skb_push(skb, sizeof(u8)) = size + 1; 1165 1165 1166 1166 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) 1167 1167 digital_skb_add_crc_f(skb);
+1 -1
net/nfc/hci/core.c
··· 727 727 break; 728 728 } 729 729 730 - *skb_push(skb, 1) = 0; /* CTR, see spec:10.2.2.1 */ 730 + *(u8 *)skb_push(skb, 1) = 0; /* CTR, see spec:10.2.2.1 */ 731 731 732 732 hdev->async_cb_type = HCI_CB_TYPE_TRANSCEIVE; 733 733 hdev->async_cb = cb;
+4 -4
net/nfc/hci/llc_shdlc.c
··· 160 160 if (skb == NULL) 161 161 return -ENOMEM; 162 162 163 - *skb_push(skb, 1) = SHDLC_CONTROL_HEAD_S | (sframe_type << 3) | nr; 163 + *(u8 *)skb_push(skb, 1) = SHDLC_CONTROL_HEAD_S | (sframe_type << 3) | nr; 164 164 165 165 r = shdlc->xmit_to_drv(shdlc->hdev, skb); 166 166 ··· 178 178 179 179 pr_debug("uframe_modifier=%d\n", uframe_modifier); 180 180 181 - *skb_push(skb, 1) = SHDLC_CONTROL_HEAD_U | uframe_modifier; 181 + *(u8 *)skb_push(skb, 1) = SHDLC_CONTROL_HEAD_U | uframe_modifier; 182 182 183 183 r = shdlc->xmit_to_drv(shdlc->hdev, skb); 184 184 ··· 551 551 552 552 skb = skb_dequeue(&shdlc->send_q); 553 553 554 - *skb_push(skb, 1) = SHDLC_CONTROL_HEAD_I | (shdlc->ns << 3) | 555 - shdlc->nr; 554 + *(u8 *)skb_push(skb, 1) = SHDLC_CONTROL_HEAD_I | (shdlc->ns << 3) | 555 + shdlc->nr; 556 556 557 557 pr_debug("Sending I-Frame %d, waiting to rcv %d\n", shdlc->ns, 558 558 shdlc->nr);
+1 -1
net/nfc/nci/data.c
··· 81 81 struct nci_data_hdr *hdr; 82 82 int plen = skb->len; 83 83 84 - hdr = (struct nci_data_hdr *) skb_push(skb, NCI_DATA_HDR_SIZE); 84 + hdr = skb_push(skb, NCI_DATA_HDR_SIZE); 85 85 hdr->conn_id = conn_id; 86 86 hdr->rfu = 0; 87 87 hdr->plen = plen;
+2 -2
net/nfc/nci/hci.c
··· 170 170 return -ENOMEM; 171 171 172 172 skb_reserve(skb, NCI_DATA_HDR_SIZE + 2); 173 - *skb_push(skb, 1) = data_type; 173 + *(u8 *)skb_push(skb, 1) = data_type; 174 174 175 175 do { 176 176 len = conn_info->max_pkt_payload_len; ··· 184 184 len = conn_info->max_pkt_payload_len - skb->len - 1; 185 185 } 186 186 187 - *skb_push(skb, 1) = cb; 187 + *(u8 *)skb_push(skb, 1) = cb; 188 188 189 189 if (len > 0) 190 190 skb_put_data(skb, data + i, len);
+2 -2
net/nfc/nci/spi.c
··· 238 238 goto receive_error; 239 239 240 240 if (nspi->acknowledge_mode == NCI_SPI_CRC_ENABLED) { 241 - *skb_push(skb, 1) = resp_hdr[1]; 242 - *skb_push(skb, 1) = resp_hdr[0]; 241 + *(u8 *)skb_push(skb, 1) = resp_hdr[1]; 242 + *(u8 *)skb_push(skb, 1) = resp_hdr[0]; 243 243 } 244 244 245 245 return skb;
+1 -1
net/nfc/rawsock.c
··· 142 142 143 143 static int rawsock_add_header(struct sk_buff *skb) 144 144 { 145 - *skb_push(skb, NFC_HEADER_SIZE) = 0; 145 + *(u8 *)skb_push(skb, NFC_HEADER_SIZE) = 0; 146 146 147 147 return 0; 148 148 }
+1 -1
net/sctp/output.c
··· 585 585 sctp_packet_set_owner_w(head, sk); 586 586 587 587 /* set sctp header */ 588 - sh = (struct sctphdr *)skb_push(head, sizeof(struct sctphdr)); 588 + sh = skb_push(head, sizeof(struct sctphdr)); 589 589 skb_reset_transport_header(head); 590 590 sh->source = htons(packet->source_port); 591 591 sh->dest = htons(packet->destination_port);
+2 -2
net/sctp/sm_statefuns.c
··· 770 770 auth.skb = chunk->auth_chunk; 771 771 auth.asoc = chunk->asoc; 772 772 auth.sctp_hdr = chunk->sctp_hdr; 773 - auth.chunk_hdr = (sctp_chunkhdr_t *)skb_push(chunk->auth_chunk, 774 - sizeof(sctp_chunkhdr_t)); 773 + auth.chunk_hdr = skb_push(chunk->auth_chunk, 774 + sizeof(sctp_chunkhdr_t)); 775 775 skb_pull(chunk->auth_chunk, sizeof(sctp_chunkhdr_t)); 776 776 auth.transport = chunk->transport; 777 777
+3 -5
net/sctp/ulpevent.c
··· 153 153 sctp_ulpevent_init(event, MSG_NOTIFICATION, skb->truesize); 154 154 155 155 /* Include the notification structure */ 156 - sac = (struct sctp_assoc_change *) 157 - skb_push(skb, sizeof(struct sctp_assoc_change)); 156 + sac = skb_push(skb, sizeof(struct sctp_assoc_change)); 158 157 159 158 /* Trim the buffer to the right length. */ 160 159 skb_trim(skb, sizeof(struct sctp_assoc_change) + ··· 399 400 event = sctp_skb2event(skb); 400 401 sctp_ulpevent_init(event, MSG_NOTIFICATION, skb->truesize); 401 402 402 - sre = (struct sctp_remote_error *) skb_push(skb, sizeof(*sre)); 403 + sre = skb_push(skb, sizeof(*sre)); 403 404 404 405 /* Trim the buffer to the right length. */ 405 406 skb_trim(skb, sizeof(*sre) + elen); ··· 450 451 event = sctp_skb2event(skb); 451 452 sctp_ulpevent_init(event, MSG_NOTIFICATION, skb->truesize); 452 453 453 - ssf = (struct sctp_send_failed *) 454 - skb_push(skb, sizeof(struct sctp_send_failed)); 454 + ssf = skb_push(skb, sizeof(struct sctp_send_failed)); 455 455 456 456 /* Socket Extensions for SCTP 457 457 * 5.3.1.4 SCTP_SEND_FAILED
+1 -1
net/wireless/util.c
··· 522 522 pskb_pull(skb, hdrlen); 523 523 524 524 if (!ehdr) 525 - ehdr = (struct ethhdr *) skb_push(skb, sizeof(struct ethhdr)); 525 + ehdr = skb_push(skb, sizeof(struct ethhdr)); 526 526 memcpy(ehdr, &tmp, sizeof(tmp)); 527 527 528 528 return 0;