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>zero-colors
parent
af72868b90
commit
d58ff35122
|
@ -1174,7 +1174,7 @@ static int psend(struct atm_vcc *vcc, struct sk_buff *skb)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
header = (void *)skb_push(skb, sizeof(*header));
|
header = skb_push(skb, sizeof(*header));
|
||||||
|
|
||||||
/* This does _not_ include the size of the header */
|
/* This does _not_ include the size of the header */
|
||||||
header->size = cpu_to_le16(pktlen);
|
header->size = cpu_to_le16(pktlen);
|
||||||
|
|
|
@ -297,7 +297,7 @@ static int bpa10x_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
/* Prepend skb with frame type */
|
/* Prepend skb with frame type */
|
||||||
*skb_push(skb, 1) = hci_skb_pkt_type(skb);
|
*(u8 *)skb_push(skb, 1) = hci_skb_pkt_type(skb);
|
||||||
|
|
||||||
switch (hci_skb_pkt_type(skb)) {
|
switch (hci_skb_pkt_type(skb)) {
|
||||||
case HCI_COMMAND_PKT:
|
case HCI_COMMAND_PKT:
|
||||||
|
|
|
@ -219,7 +219,7 @@ static int fwnet_header_create(struct sk_buff *skb, struct net_device *net,
|
||||||
{
|
{
|
||||||
struct fwnet_header *h;
|
struct fwnet_header *h;
|
||||||
|
|
||||||
h = (struct fwnet_header *)skb_push(skb, sizeof(*h));
|
h = skb_push(skb, sizeof(*h));
|
||||||
put_unaligned_be16(type, &h->h_proto);
|
put_unaligned_be16(type, &h->h_proto);
|
||||||
|
|
||||||
if (net->flags & (IFF_LOOPBACK | IFF_NOARP)) {
|
if (net->flags & (IFF_LOOPBACK | IFF_NOARP)) {
|
||||||
|
@ -961,16 +961,14 @@ static int fwnet_send_packet(struct fwnet_packet_task *ptask)
|
||||||
tx_len = ptask->max_payload;
|
tx_len = ptask->max_payload;
|
||||||
switch (fwnet_get_hdr_lf(&ptask->hdr)) {
|
switch (fwnet_get_hdr_lf(&ptask->hdr)) {
|
||||||
case RFC2374_HDR_UNFRAG:
|
case RFC2374_HDR_UNFRAG:
|
||||||
bufhdr = (struct rfc2734_header *)
|
bufhdr = skb_push(ptask->skb, RFC2374_UNFRAG_HDR_SIZE);
|
||||||
skb_push(ptask->skb, RFC2374_UNFRAG_HDR_SIZE);
|
|
||||||
put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0);
|
put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RFC2374_HDR_FIRSTFRAG:
|
case RFC2374_HDR_FIRSTFRAG:
|
||||||
case RFC2374_HDR_INTFRAG:
|
case RFC2374_HDR_INTFRAG:
|
||||||
case RFC2374_HDR_LASTFRAG:
|
case RFC2374_HDR_LASTFRAG:
|
||||||
bufhdr = (struct rfc2734_header *)
|
bufhdr = skb_push(ptask->skb, RFC2374_FRAG_HDR_SIZE);
|
||||||
skb_push(ptask->skb, RFC2374_FRAG_HDR_SIZE);
|
|
||||||
put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0);
|
put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0);
|
||||||
put_unaligned_be32(ptask->hdr.w1, &bufhdr->w1);
|
put_unaligned_be32(ptask->hdr.w1, &bufhdr->w1);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -513,7 +513,7 @@ static void send_mpa_req(struct iwch_ep *ep, struct sk_buff *skb)
|
||||||
set_arp_failure_handler(skb, arp_failure_discard);
|
set_arp_failure_handler(skb, arp_failure_discard);
|
||||||
skb_reset_transport_header(skb);
|
skb_reset_transport_header(skb);
|
||||||
len = skb->len;
|
len = skb->len;
|
||||||
req = (struct tx_data_wr *) skb_push(skb, sizeof(*req));
|
req = skb_push(skb, sizeof(*req));
|
||||||
req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL);
|
req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL);
|
||||||
req->wr_lo = htonl(V_WR_TID(ep->hwtid));
|
req->wr_lo = htonl(V_WR_TID(ep->hwtid));
|
||||||
req->len = htonl(len);
|
req->len = htonl(len);
|
||||||
|
@ -564,7 +564,7 @@ static int send_mpa_reject(struct iwch_ep *ep, const void *pdata, u8 plen)
|
||||||
skb->priority = CPL_PRIORITY_DATA;
|
skb->priority = CPL_PRIORITY_DATA;
|
||||||
set_arp_failure_handler(skb, arp_failure_discard);
|
set_arp_failure_handler(skb, arp_failure_discard);
|
||||||
skb_reset_transport_header(skb);
|
skb_reset_transport_header(skb);
|
||||||
req = (struct tx_data_wr *) skb_push(skb, sizeof(*req));
|
req = skb_push(skb, sizeof(*req));
|
||||||
req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL);
|
req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL);
|
||||||
req->wr_lo = htonl(V_WR_TID(ep->hwtid));
|
req->wr_lo = htonl(V_WR_TID(ep->hwtid));
|
||||||
req->len = htonl(mpalen);
|
req->len = htonl(mpalen);
|
||||||
|
@ -615,7 +615,7 @@ static int send_mpa_reply(struct iwch_ep *ep, const void *pdata, u8 plen)
|
||||||
set_arp_failure_handler(skb, arp_failure_discard);
|
set_arp_failure_handler(skb, arp_failure_discard);
|
||||||
skb_reset_transport_header(skb);
|
skb_reset_transport_header(skb);
|
||||||
len = skb->len;
|
len = skb->len;
|
||||||
req = (struct tx_data_wr *) skb_push(skb, sizeof(*req));
|
req = skb_push(skb, sizeof(*req));
|
||||||
req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL);
|
req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA)|F_WR_COMPL);
|
||||||
req->wr_lo = htonl(V_WR_TID(ep->hwtid));
|
req->wr_lo = htonl(V_WR_TID(ep->hwtid));
|
||||||
req->len = htonl(len);
|
req->len = htonl(len);
|
||||||
|
|
|
@ -3751,7 +3751,7 @@ static void build_cpl_pass_accept_req(struct sk_buff *skb, int stid , u8 tos)
|
||||||
tcp_clear_options(&tmp_opt);
|
tcp_clear_options(&tmp_opt);
|
||||||
tcp_parse_options(&init_net, skb, &tmp_opt, 0, NULL);
|
tcp_parse_options(&init_net, skb, &tmp_opt, 0, NULL);
|
||||||
|
|
||||||
req = (struct cpl_pass_accept_req *)__skb_push(skb, sizeof(*req));
|
req = __skb_push(skb, sizeof(*req));
|
||||||
memset(req, 0, sizeof(*req));
|
memset(req, 0, sizeof(*req));
|
||||||
req->l2info = cpu_to_be16(SYN_INTF_V(intf) |
|
req->l2info = cpu_to_be16(SYN_INTF_V(intf) |
|
||||||
SYN_MAC_IDX_V(RX_MACIDX_G(
|
SYN_MAC_IDX_V(RX_MACIDX_G(
|
||||||
|
|
|
@ -681,7 +681,7 @@ static void push_pseudo_header(struct sk_buff *skb, const char *daddr)
|
||||||
{
|
{
|
||||||
struct ipoib_pseudo_header *phdr;
|
struct ipoib_pseudo_header *phdr;
|
||||||
|
|
||||||
phdr = (struct ipoib_pseudo_header *)skb_push(skb, sizeof(*phdr));
|
phdr = skb_push(skb, sizeof(*phdr));
|
||||||
memcpy(phdr->hwaddr, daddr, INFINIBAND_ALEN);
|
memcpy(phdr->hwaddr, daddr, INFINIBAND_ALEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1129,7 +1129,7 @@ static int ipoib_hard_header(struct sk_buff *skb,
|
||||||
{
|
{
|
||||||
struct ipoib_header *header;
|
struct ipoib_header *header;
|
||||||
|
|
||||||
header = (struct ipoib_header *) skb_push(skb, sizeof *header);
|
header = skb_push(skb, sizeof *header);
|
||||||
|
|
||||||
header->proto = htons(type);
|
header->proto = htons(type);
|
||||||
header->reserved = 0;
|
header->reserved = 0;
|
||||||
|
|
|
@ -460,7 +460,7 @@ void opa_vnic_encap_skb(struct opa_vnic_adapter *adapter, struct sk_buff *skb)
|
||||||
sc = opa_vnic_get_sc(info, skb);
|
sc = opa_vnic_get_sc(info, skb);
|
||||||
l4_hdr = info->vesw.vesw_id;
|
l4_hdr = info->vesw.vesw_id;
|
||||||
|
|
||||||
mdata = (struct opa_vnic_skb_mdata *)skb_push(skb, sizeof(*mdata));
|
mdata = skb_push(skb, sizeof(*mdata));
|
||||||
mdata->vl = opa_vnic_get_vl(adapter, skb);
|
mdata->vl = opa_vnic_get_vl(adapter, skb);
|
||||||
mdata->entropy = entropy;
|
mdata->entropy = entropy;
|
||||||
mdata->flags = 0;
|
mdata->flags = 0;
|
||||||
|
|
|
@ -103,7 +103,7 @@ static u16 opa_vnic_select_queue(struct net_device *netdev, struct sk_buff *skb,
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* pass entropy and vl as metadata in skb */
|
/* pass entropy and vl as metadata in skb */
|
||||||
mdata = (struct opa_vnic_skb_mdata *)skb_push(skb, sizeof(*mdata));
|
mdata = skb_push(skb, sizeof(*mdata));
|
||||||
mdata->entropy = opa_vnic_calc_entropy(adapter, skb);
|
mdata->entropy = opa_vnic_calc_entropy(adapter, skb);
|
||||||
mdata->vl = opa_vnic_get_vl(adapter, skb);
|
mdata->vl = opa_vnic_get_vl(adapter, skb);
|
||||||
rc = adapter->rn_ops->ndo_select_queue(netdev, skb,
|
rc = adapter->rn_ops->ndo_select_queue(netdev, skb,
|
||||||
|
|
|
@ -1312,7 +1312,7 @@ isdn_ppp_xmit(struct sk_buff *skb, struct net_device *netdev)
|
||||||
/* check if we should pass this packet
|
/* check if we should pass this packet
|
||||||
* the filter instructions are constructed assuming
|
* the filter instructions are constructed assuming
|
||||||
* a four-byte PPP header on each packet */
|
* a four-byte PPP header on each packet */
|
||||||
*skb_push(skb, 4) = 1; /* indicate outbound */
|
*(u8 *)skb_push(skb, 4) = 1; /* indicate outbound */
|
||||||
|
|
||||||
{
|
{
|
||||||
__be16 *p = (__be16 *)skb->data;
|
__be16 *p = (__be16 *)skb->data;
|
||||||
|
|
|
@ -85,7 +85,7 @@ static int build_header(struct sk_buff *skb, struct net_device *dev,
|
||||||
unsigned short type, uint8_t daddr)
|
unsigned short type, uint8_t daddr)
|
||||||
{
|
{
|
||||||
int hdr_size = ARC_HDR_SIZE;
|
int hdr_size = ARC_HDR_SIZE;
|
||||||
struct archdr *pkt = (struct archdr *)skb_push(skb, hdr_size);
|
struct archdr *pkt = skb_push(skb, hdr_size);
|
||||||
|
|
||||||
/* Set the source hardware address.
|
/* Set the source hardware address.
|
||||||
*
|
*
|
||||||
|
|
|
@ -101,7 +101,7 @@ static int build_header(struct sk_buff *skb,
|
||||||
uint8_t daddr)
|
uint8_t daddr)
|
||||||
{
|
{
|
||||||
int hdr_size = ARC_HDR_SIZE;
|
int hdr_size = ARC_HDR_SIZE;
|
||||||
struct archdr *pkt = (struct archdr *)skb_push(skb, hdr_size);
|
struct archdr *pkt = skb_push(skb, hdr_size);
|
||||||
|
|
||||||
arc_printk(D_PROTO, dev, "Preparing header for cap packet %x.\n",
|
arc_printk(D_PROTO, dev, "Preparing header for cap packet %x.\n",
|
||||||
*((int *)&pkt->soft.cap.cookie[0]));
|
*((int *)&pkt->soft.cap.cookie[0]));
|
||||||
|
|
|
@ -162,7 +162,7 @@ static int build_header(struct sk_buff *skb, struct net_device *dev,
|
||||||
unsigned short type, uint8_t daddr)
|
unsigned short type, uint8_t daddr)
|
||||||
{
|
{
|
||||||
int hdr_size = ARC_HDR_SIZE + RFC1051_HDR_SIZE;
|
int hdr_size = ARC_HDR_SIZE + RFC1051_HDR_SIZE;
|
||||||
struct archdr *pkt = (struct archdr *)skb_push(skb, hdr_size);
|
struct archdr *pkt = skb_push(skb, hdr_size);
|
||||||
struct arc_rfc1051 *soft = &pkt->soft.rfc1051;
|
struct arc_rfc1051 *soft = &pkt->soft.rfc1051;
|
||||||
|
|
||||||
/* set the protocol ID according to RFC1051 */
|
/* set the protocol ID according to RFC1051 */
|
||||||
|
|
|
@ -379,7 +379,7 @@ static int build_header(struct sk_buff *skb, struct net_device *dev,
|
||||||
{
|
{
|
||||||
struct arcnet_local *lp = netdev_priv(dev);
|
struct arcnet_local *lp = netdev_priv(dev);
|
||||||
int hdr_size = ARC_HDR_SIZE + RFC1201_HDR_SIZE;
|
int hdr_size = ARC_HDR_SIZE + RFC1201_HDR_SIZE;
|
||||||
struct archdr *pkt = (struct archdr *)skb_push(skb, hdr_size);
|
struct archdr *pkt = skb_push(skb, hdr_size);
|
||||||
struct arc_rfc1201 *soft = &pkt->soft.rfc1201;
|
struct arc_rfc1201 *soft = &pkt->soft.rfc1201;
|
||||||
|
|
||||||
/* set the protocol ID according to RFC1201 */
|
/* set the protocol ID according to RFC1201 */
|
||||||
|
|
|
@ -1099,7 +1099,7 @@ static struct sk_buff *bcm_sysport_insert_tsb(struct sk_buff *skb,
|
||||||
skb = nskb;
|
skb = nskb;
|
||||||
}
|
}
|
||||||
|
|
||||||
tsb = (struct bcm_tsb *)skb_push(skb, sizeof(*tsb));
|
tsb = skb_push(skb, sizeof(*tsb));
|
||||||
/* Zero-out TSB by default */
|
/* Zero-out TSB by default */
|
||||||
memset(tsb, 0, sizeof(*tsb));
|
memset(tsb, 0, sizeof(*tsb));
|
||||||
|
|
||||||
|
|
|
@ -1801,7 +1801,7 @@ netdev_tx_t t1_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
eth_type = skb_network_offset(skb) == ETH_HLEN ?
|
eth_type = skb_network_offset(skb) == ETH_HLEN ?
|
||||||
CPL_ETH_II : CPL_ETH_II_VLAN;
|
CPL_ETH_II : CPL_ETH_II_VLAN;
|
||||||
|
|
||||||
hdr = (struct cpl_tx_pkt_lso *)skb_push(skb, sizeof(*hdr));
|
hdr = skb_push(skb, sizeof(*hdr));
|
||||||
hdr->opcode = CPL_TX_PKT_LSO;
|
hdr->opcode = CPL_TX_PKT_LSO;
|
||||||
hdr->ip_csum_dis = hdr->l4_csum_dis = 0;
|
hdr->ip_csum_dis = hdr->l4_csum_dis = 0;
|
||||||
hdr->ip_hdr_words = ip_hdr(skb)->ihl;
|
hdr->ip_hdr_words = ip_hdr(skb)->ihl;
|
||||||
|
@ -1849,7 +1849,7 @@ netdev_tx_t t1_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cpl = (struct cpl_tx_pkt *)__skb_push(skb, sizeof(*cpl));
|
cpl = __skb_push(skb, sizeof(*cpl));
|
||||||
cpl->opcode = CPL_TX_PKT;
|
cpl->opcode = CPL_TX_PKT;
|
||||||
cpl->ip_csum_dis = 1; /* SW calculates IP csum */
|
cpl->ip_csum_dis = 1; /* SW calculates IP csum */
|
||||||
cpl->l4_csum_dis = skb->ip_summed == CHECKSUM_PARTIAL ? 0 : 1;
|
cpl->l4_csum_dis = skb->ip_summed == CHECKSUM_PARTIAL ? 0 : 1;
|
||||||
|
|
|
@ -2250,7 +2250,7 @@ static int gfar_enet_open(struct net_device *dev)
|
||||||
|
|
||||||
static inline struct txfcb *gfar_add_fcb(struct sk_buff *skb)
|
static inline struct txfcb *gfar_add_fcb(struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct txfcb *fcb = (struct txfcb *)skb_push(skb, GMAC_FCB_LEN);
|
struct txfcb *fcb = skb_push(skb, GMAC_FCB_LEN);
|
||||||
|
|
||||||
memset(fcb, 0, GMAC_FCB_LEN);
|
memset(fcb, 0, GMAC_FCB_LEN);
|
||||||
|
|
||||||
|
|
|
@ -132,7 +132,7 @@ static struct sk_buff *mlx5e_test_get_udp_skb(struct mlx5e_priv *priv)
|
||||||
skb_reserve(skb, NET_IP_ALIGN);
|
skb_reserve(skb, NET_IP_ALIGN);
|
||||||
|
|
||||||
/* Reserve for ethernet and IP header */
|
/* Reserve for ethernet and IP header */
|
||||||
ethh = (struct ethhdr *)skb_push(skb, ETH_HLEN);
|
ethh = skb_push(skb, ETH_HLEN);
|
||||||
skb_reset_mac_header(skb);
|
skb_reset_mac_header(skb);
|
||||||
|
|
||||||
skb_set_network_header(skb, skb->len);
|
skb_set_network_header(skb, skb->len);
|
||||||
|
|
|
@ -6667,7 +6667,7 @@ static netdev_tx_t niu_start_xmit(struct sk_buff *skb,
|
||||||
headroom = align + sizeof(struct tx_pkt_hdr);
|
headroom = align + sizeof(struct tx_pkt_hdr);
|
||||||
|
|
||||||
ehdr = (struct ethhdr *) skb->data;
|
ehdr = (struct ethhdr *) skb->data;
|
||||||
tp = (struct tx_pkt_hdr *) skb_push(skb, headroom);
|
tp = skb_push(skb, headroom);
|
||||||
|
|
||||||
len = skb->len - sizeof(struct tx_pkt_hdr);
|
len = skb->len - sizeof(struct tx_pkt_hdr);
|
||||||
tp->flags = cpu_to_le64(niu_compute_tx_flags(skb, ehdr, align, len));
|
tp->flags = cpu_to_le64(niu_compute_tx_flags(skb, ehdr, align, len));
|
||||||
|
|
|
@ -754,7 +754,7 @@ static struct sk_buff *gelic_put_vlan_tag(struct sk_buff *skb,
|
||||||
return NULL;
|
return NULL;
|
||||||
dev_kfree_skb_any(sk_tmp);
|
dev_kfree_skb_any(sk_tmp);
|
||||||
}
|
}
|
||||||
veth = (struct vlan_ethhdr *)skb_push(skb, VLAN_HLEN);
|
veth = skb_push(skb, VLAN_HLEN);
|
||||||
|
|
||||||
/* Move the mac addresses to the top of buffer */
|
/* Move the mac addresses to the top of buffer */
|
||||||
memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
|
memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
|
||||||
|
|
|
@ -687,8 +687,7 @@ static int geneve_build_skb(struct dst_entry *dst, struct sk_buff *skb,
|
||||||
if (err)
|
if (err)
|
||||||
goto free_dst;
|
goto free_dst;
|
||||||
|
|
||||||
gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) +
|
gnvh = __skb_push(skb, sizeof(*gnvh) + info->options_len);
|
||||||
info->options_len);
|
|
||||||
geneve_build_header(gnvh, info);
|
geneve_build_header(gnvh, info);
|
||||||
skb_set_inner_protocol(skb, htons(ETH_P_TEB));
|
skb_set_inner_protocol(skb, htons(ETH_P_TEB));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -398,7 +398,7 @@ static inline void gtp0_push_header(struct sk_buff *skb, struct pdp_ctx *pctx)
|
||||||
int payload_len = skb->len;
|
int payload_len = skb->len;
|
||||||
struct gtp0_header *gtp0;
|
struct gtp0_header *gtp0;
|
||||||
|
|
||||||
gtp0 = (struct gtp0_header *) skb_push(skb, sizeof(*gtp0));
|
gtp0 = skb_push(skb, sizeof(*gtp0));
|
||||||
|
|
||||||
gtp0->flags = 0x1e; /* v0, GTP-non-prime. */
|
gtp0->flags = 0x1e; /* v0, GTP-non-prime. */
|
||||||
gtp0->type = GTP_TPDU;
|
gtp0->type = GTP_TPDU;
|
||||||
|
@ -415,7 +415,7 @@ static inline void gtp1_push_header(struct sk_buff *skb, struct pdp_ctx *pctx)
|
||||||
int payload_len = skb->len;
|
int payload_len = skb->len;
|
||||||
struct gtp1_header *gtp1;
|
struct gtp1_header *gtp1;
|
||||||
|
|
||||||
gtp1 = (struct gtp1_header *) skb_push(skb, sizeof(*gtp1));
|
gtp1 = skb_push(skb, sizeof(*gtp1));
|
||||||
|
|
||||||
/* Bits 8 7 6 5 4 3 2 1
|
/* Bits 8 7 6 5 4 3 2 1
|
||||||
* +--+--+--+--+--+--+--+--+
|
* +--+--+--+--+--+--+--+--+
|
||||||
|
|
|
@ -1422,7 +1422,7 @@ static netdev_tx_t rr_start_xmit(struct sk_buff *skb,
|
||||||
skb = new_skb;
|
skb = new_skb;
|
||||||
}
|
}
|
||||||
|
|
||||||
ifield = (u32 *)skb_push(skb, 8);
|
ifield = skb_push(skb, 8);
|
||||||
|
|
||||||
ifield[0] = 0;
|
ifield[0] = 0;
|
||||||
ifield[1] = hcb->ifield;
|
ifield[1] = hcb->ifield;
|
||||||
|
|
|
@ -697,7 +697,7 @@ static struct sk_buff *macsec_encrypt(struct sk_buff *skb,
|
||||||
unprotected_len = skb->len;
|
unprotected_len = skb->len;
|
||||||
eth = eth_hdr(skb);
|
eth = eth_hdr(skb);
|
||||||
sci_present = send_sci(secy);
|
sci_present = send_sci(secy);
|
||||||
hh = (struct macsec_eth_header *)skb_push(skb, macsec_extra_len(sci_present));
|
hh = skb_push(skb, macsec_extra_len(sci_present));
|
||||||
memmove(hh, eth, 2 * ETH_ALEN);
|
memmove(hh, eth, 2 * ETH_ALEN);
|
||||||
|
|
||||||
pn = tx_sa_update_pn(tx_sa, secy);
|
pn = tx_sa_update_pn(tx_sa, secy);
|
||||||
|
|
|
@ -802,7 +802,7 @@ process_input_packet(struct asyncppp *ap)
|
||||||
proto = p[0];
|
proto = p[0];
|
||||||
if (proto & 1) {
|
if (proto & 1) {
|
||||||
/* protocol is compressed */
|
/* protocol is compressed */
|
||||||
skb_push(skb, 1)[0] = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
} else {
|
} else {
|
||||||
if (skb->len < 2)
|
if (skb->len < 2)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
|
@ -1490,7 +1490,7 @@ ppp_send_frame(struct ppp *ppp, struct sk_buff *skb)
|
||||||
/* check if we should pass this packet */
|
/* check if we should pass this packet */
|
||||||
/* the filter instructions are constructed assuming
|
/* the filter instructions are constructed assuming
|
||||||
a four-byte PPP header on each packet */
|
a four-byte PPP header on each packet */
|
||||||
*skb_push(skb, 2) = 1;
|
*(u8 *)skb_push(skb, 2) = 1;
|
||||||
if (ppp->pass_filter &&
|
if (ppp->pass_filter &&
|
||||||
BPF_PROG_RUN(ppp->pass_filter, skb) == 0) {
|
BPF_PROG_RUN(ppp->pass_filter, skb) == 0) {
|
||||||
if (ppp->debug & 1)
|
if (ppp->debug & 1)
|
||||||
|
@ -2133,7 +2133,7 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb)
|
||||||
if (skb_unclone(skb, GFP_ATOMIC))
|
if (skb_unclone(skb, GFP_ATOMIC))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
*skb_push(skb, 2) = 0;
|
*(u8 *)skb_push(skb, 2) = 0;
|
||||||
if (ppp->pass_filter &&
|
if (ppp->pass_filter &&
|
||||||
BPF_PROG_RUN(ppp->pass_filter, skb) == 0) {
|
BPF_PROG_RUN(ppp->pass_filter, skb) == 0) {
|
||||||
if (ppp->debug & 1)
|
if (ppp->debug & 1)
|
||||||
|
@ -2267,7 +2267,7 @@ ppp_receive_mp_frame(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)
|
||||||
* Do protocol ID decompression on the first fragment of each packet.
|
* Do protocol ID decompression on the first fragment of each packet.
|
||||||
*/
|
*/
|
||||||
if ((PPP_MP_CB(skb)->BEbits & B) && (skb->data[0] & 1))
|
if ((PPP_MP_CB(skb)->BEbits & B) && (skb->data[0] & 1))
|
||||||
*skb_push(skb, 1) = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Expand sequence number to 32 bits, making it as close
|
* Expand sequence number to 32 bits, making it as close
|
||||||
|
|
|
@ -711,7 +711,7 @@ ppp_sync_input(struct syncppp *ap, const unsigned char *buf,
|
||||||
/* decompress protocol field if compressed */
|
/* decompress protocol field if compressed */
|
||||||
if (p[0] & 1) {
|
if (p[0] & 1) {
|
||||||
/* protocol is compressed */
|
/* protocol is compressed */
|
||||||
skb_push(skb, 1)[0] = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
} else if (skb->len < 2)
|
} else if (skb->len < 2)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
|
|
@ -328,7 +328,7 @@ allow_packet:
|
||||||
|
|
||||||
if ((*skb->data) & 1) {
|
if ((*skb->data) & 1) {
|
||||||
/* protocol is compressed */
|
/* protocol is compressed */
|
||||||
skb_push(skb, 1)[0] = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
skb->ip_summed = CHECKSUM_NONE;
|
skb->ip_summed = CHECKSUM_NONE;
|
||||||
|
|
|
@ -174,7 +174,7 @@ genelink_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
// attach the packet count to the header
|
// attach the packet count to the header
|
||||||
packet_count = (__le32 *) skb_push(skb, (4 + 4*1));
|
packet_count = skb_push(skb, (4 + 4 * 1));
|
||||||
packet_len = packet_count + 1;
|
packet_len = packet_count + 1;
|
||||||
|
|
||||||
*packet_count = cpu_to_le32(1);
|
*packet_count = cpu_to_le32(1);
|
||||||
|
|
|
@ -106,7 +106,7 @@ static struct sk_buff *int51x1_tx_fixup(struct usbnet *dev,
|
||||||
pack_len += need_tail;
|
pack_len += need_tail;
|
||||||
pack_len &= 0x07ff;
|
pack_len &= 0x07ff;
|
||||||
|
|
||||||
len = (__le16 *) __skb_push(skb, INT51X1_HEADER_SIZE);
|
len = __skb_push(skb, INT51X1_HEADER_SIZE);
|
||||||
*len = cpu_to_le16(pack_len);
|
*len = cpu_to_le16(pack_len);
|
||||||
|
|
||||||
if(need_tail)
|
if(need_tail)
|
||||||
|
|
|
@ -809,7 +809,7 @@ static netdev_tx_t kaweth_start_xmit(struct sk_buff *skb,
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
private_header = (__le16 *)__skb_push(skb, 2);
|
private_header = __skb_push(skb, 2);
|
||||||
*private_header = cpu_to_le16(skb->len-2);
|
*private_header = cpu_to_le16(skb->len-2);
|
||||||
kaweth->tx_skb = skb;
|
kaweth->tx_skb = skb;
|
||||||
|
|
||||||
|
|
|
@ -304,7 +304,7 @@ encapsulate:
|
||||||
memset(&packet->dummy, 0, sizeof(packet->dummy));
|
memset(&packet->dummy, 0, sizeof(packet->dummy));
|
||||||
packet->len = cpu_to_le32(orig_len);
|
packet->len = cpu_to_le32(orig_len);
|
||||||
|
|
||||||
frame = (struct vl600_frame_hdr *) skb_push(skb, sizeof(*frame));
|
frame = skb_push(skb, sizeof(*frame));
|
||||||
memset(frame, 0, sizeof(*frame));
|
memset(frame, 0, sizeof(*frame));
|
||||||
frame->len = cpu_to_le32(full_len);
|
frame->len = cpu_to_le32(full_len);
|
||||||
frame->serial = cpu_to_le32(serial++);
|
frame->serial = cpu_to_le32(serial++);
|
||||||
|
|
|
@ -466,7 +466,7 @@ net1080_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags)
|
||||||
|
|
||||||
encapsulate:
|
encapsulate:
|
||||||
/* header first */
|
/* header first */
|
||||||
header = (struct nc_header *) skb_push(skb, sizeof *header);
|
header = skb_push(skb, sizeof *header);
|
||||||
header->hdr_len = cpu_to_le16(sizeof (*header));
|
header->hdr_len = cpu_to_le16(sizeof (*header));
|
||||||
header->packet_len = cpu_to_le16(len);
|
header->packet_len = cpu_to_le16(len);
|
||||||
header->packet_id = cpu_to_le16((u16)dev->xid++);
|
header->packet_id = cpu_to_le16((u16)dev->xid++);
|
||||||
|
|
|
@ -101,7 +101,7 @@ static netdev_tx_t qmimux_start_xmit(struct sk_buff *skb, struct net_device *dev
|
||||||
unsigned int len = skb->len;
|
unsigned int len = skb->len;
|
||||||
struct qmimux_hdr *hdr;
|
struct qmimux_hdr *hdr;
|
||||||
|
|
||||||
hdr = (struct qmimux_hdr *)skb_push(skb, sizeof(struct qmimux_hdr));
|
hdr = skb_push(skb, sizeof(struct qmimux_hdr));
|
||||||
hdr->pad = 0;
|
hdr->pad = 0;
|
||||||
hdr->mux_id = priv->mux_id;
|
hdr->mux_id = priv->mux_id;
|
||||||
hdr->pkt_len = cpu_to_be16(len);
|
hdr->pkt_len = cpu_to_be16(len);
|
||||||
|
|
|
@ -578,7 +578,7 @@ rndis_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags)
|
||||||
* packets; Linux minimizes wasted bandwidth through tx queues.
|
* packets; Linux minimizes wasted bandwidth through tx queues.
|
||||||
*/
|
*/
|
||||||
fill:
|
fill:
|
||||||
hdr = (void *) __skb_push(skb, sizeof *hdr);
|
hdr = __skb_push(skb, sizeof *hdr);
|
||||||
memset(hdr, 0, sizeof *hdr);
|
memset(hdr, 0, sizeof *hdr);
|
||||||
hdr->msg_type = cpu_to_le32(RNDIS_MSG_PACKET);
|
hdr->msg_type = cpu_to_le32(RNDIS_MSG_PACKET);
|
||||||
hdr->msg_len = cpu_to_le32(skb->len);
|
hdr->msg_len = cpu_to_le32(skb->len);
|
||||||
|
|
|
@ -383,7 +383,7 @@ static int vrf_finish_direct(struct net *net, struct sock *sk,
|
||||||
|
|
||||||
if (!list_empty(&vrf_dev->ptype_all) &&
|
if (!list_empty(&vrf_dev->ptype_all) &&
|
||||||
likely(skb_headroom(skb) >= ETH_HLEN)) {
|
likely(skb_headroom(skb) >= ETH_HLEN)) {
|
||||||
struct ethhdr *eth = (struct ethhdr *)skb_push(skb, ETH_HLEN);
|
struct ethhdr *eth = skb_push(skb, ETH_HLEN);
|
||||||
|
|
||||||
ether_addr_copy(eth->h_source, vrf_dev->dev_addr);
|
ether_addr_copy(eth->h_source, vrf_dev->dev_addr);
|
||||||
eth_zero_addr(eth->h_dest);
|
eth_zero_addr(eth->h_dest);
|
||||||
|
|
|
@ -1827,7 +1827,7 @@ static int vxlan_build_skb(struct sk_buff *skb, struct dst_entry *dst,
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
vxh = (struct vxlanhdr *) __skb_push(skb, sizeof(*vxh));
|
vxh = __skb_push(skb, sizeof(*vxh));
|
||||||
vxh->vx_flags = VXLAN_HF_VNI;
|
vxh->vx_flags = VXLAN_HF_VNI;
|
||||||
vxh->vx_vni = vxlan_vni_field(vni);
|
vxh->vx_vni = vxlan_vni_field(vni);
|
||||||
|
|
||||||
|
|
|
@ -221,7 +221,7 @@ void i2400m_tx_prep_header(struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct i2400m_pl_data_hdr *pl_hdr;
|
struct i2400m_pl_data_hdr *pl_hdr;
|
||||||
skb_pull(skb, ETH_HLEN);
|
skb_pull(skb, ETH_HLEN);
|
||||||
pl_hdr = (struct i2400m_pl_data_hdr *) skb_push(skb, sizeof(*pl_hdr));
|
pl_hdr = skb_push(skb, sizeof(*pl_hdr));
|
||||||
pl_hdr->reserved = 0;
|
pl_hdr->reserved = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1700,7 +1700,7 @@ static void adm8211_tx(struct ieee80211_hw *dev,
|
||||||
skb_pull(skb, hdrlen);
|
skb_pull(skb, hdrlen);
|
||||||
payload_len = skb->len;
|
payload_len = skb->len;
|
||||||
|
|
||||||
txhdr = (struct adm8211_tx_hdr *) skb_push(skb, sizeof(*txhdr));
|
txhdr = skb_push(skb, sizeof(*txhdr));
|
||||||
memset(txhdr, 0, sizeof(*txhdr));
|
memset(txhdr, 0, sizeof(*txhdr));
|
||||||
memcpy(txhdr->da, ieee80211_get_DA(hdr), ETH_ALEN);
|
memcpy(txhdr->da, ieee80211_get_DA(hdr), ETH_ALEN);
|
||||||
txhdr->signal = plcp_signal;
|
txhdr->signal = plcp_signal;
|
||||||
|
|
|
@ -829,8 +829,8 @@ static void ar5523_tx_work_locked(struct ar5523 *ar)
|
||||||
data->ar = ar;
|
data->ar = ar;
|
||||||
data->urb = urb;
|
data->urb = urb;
|
||||||
|
|
||||||
desc = (struct ar5523_tx_desc *)skb_push(skb, sizeof(*desc));
|
desc = skb_push(skb, sizeof(*desc));
|
||||||
chunk = (struct ar5523_chunk *)skb_push(skb, sizeof(*chunk));
|
chunk = skb_push(skb, sizeof(*chunk));
|
||||||
|
|
||||||
chunk->seqnum = 0;
|
chunk->seqnum = 0;
|
||||||
chunk->flags = UATH_CFLAGS_FINAL;
|
chunk->flags = UATH_CFLAGS_FINAL;
|
||||||
|
|
|
@ -228,8 +228,7 @@ static int htc_issue_packets(struct htc_target *target,
|
||||||
payload_len = packet->act_len;
|
payload_len = packet->act_len;
|
||||||
|
|
||||||
/* setup HTC frame header */
|
/* setup HTC frame header */
|
||||||
htc_hdr = (struct htc_frame_hdr *) skb_push(skb,
|
htc_hdr = skb_push(skb, sizeof(*htc_hdr));
|
||||||
sizeof(*htc_hdr));
|
|
||||||
if (!htc_hdr) {
|
if (!htc_hdr) {
|
||||||
WARN_ON_ONCE(1);
|
WARN_ON_ONCE(1);
|
||||||
status = -EINVAL;
|
status = -EINVAL;
|
||||||
|
|
|
@ -199,7 +199,7 @@ static int hif_usb_send_mgmt(struct hif_device_usb *hif_dev,
|
||||||
cmd->skb = skb;
|
cmd->skb = skb;
|
||||||
cmd->hif_dev = hif_dev;
|
cmd->hif_dev = hif_dev;
|
||||||
|
|
||||||
hdr = (__le16 *) skb_push(skb, 4);
|
hdr = skb_push(skb, 4);
|
||||||
*hdr++ = cpu_to_le16(skb->len - 4);
|
*hdr++ = cpu_to_le16(skb->len - 4);
|
||||||
*hdr++ = cpu_to_le16(ATH_USB_TX_STREAM_MODE_TAG);
|
*hdr++ = cpu_to_le16(ATH_USB_TX_STREAM_MODE_TAG);
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,7 @@ static int htc_issue_send(struct htc_target *target, struct sk_buff* skb,
|
||||||
struct htc_endpoint *endpoint = &target->endpoint[epid];
|
struct htc_endpoint *endpoint = &target->endpoint[epid];
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
hdr = (struct htc_frame_hdr *)
|
hdr = skb_push(skb, sizeof(struct htc_frame_hdr));
|
||||||
skb_push(skb, sizeof(struct htc_frame_hdr));
|
|
||||||
hdr->endpoint_id = epid;
|
hdr->endpoint_id = epid;
|
||||||
hdr->flags = flags;
|
hdr->flags = flags;
|
||||||
hdr->payload_len = cpu_to_be16(len);
|
hdr->payload_len = cpu_to_be16(len);
|
||||||
|
|
|
@ -277,7 +277,7 @@ static int ath9k_wmi_cmd_issue(struct wmi *wmi,
|
||||||
struct wmi_cmd_hdr *hdr;
|
struct wmi_cmd_hdr *hdr;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
hdr = (struct wmi_cmd_hdr *) skb_push(skb, sizeof(struct wmi_cmd_hdr));
|
hdr = skb_push(skb, sizeof(struct wmi_cmd_hdr));
|
||||||
hdr->command_id = cpu_to_be16(cmd);
|
hdr->command_id = cpu_to_be16(cmd);
|
||||||
hdr->seq_no = cpu_to_be16(++wmi->tx_seq_id);
|
hdr->seq_no = cpu_to_be16(++wmi->tx_seq_id);
|
||||||
|
|
||||||
|
|
|
@ -991,7 +991,7 @@ static int carl9170_tx_prepare(struct ar9170 *ar,
|
||||||
else
|
else
|
||||||
cvif = NULL;
|
cvif = NULL;
|
||||||
|
|
||||||
txc = (void *)skb_push(skb, sizeof(*txc));
|
txc = skb_push(skb, sizeof(*txc));
|
||||||
memset(txc, 0, sizeof(*txc));
|
memset(txc, 0, sizeof(*txc));
|
||||||
|
|
||||||
SET_VAL(CARL9170_TX_SUPER_MISC_QUEUE, txc->s.misc, hw_queue);
|
SET_VAL(CARL9170_TX_SUPER_MISC_QUEUE, txc->s.misc, hw_queue);
|
||||||
|
|
|
@ -363,7 +363,7 @@ static void wil_rx_add_radiotap_header(struct wil6210_priv *wil,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
rtap_vendor = (void *)skb_push(skb, rtap_len);
|
rtap_vendor = skb_push(skb, rtap_len);
|
||||||
memset(rtap_vendor, 0, rtap_len);
|
memset(rtap_vendor, 0, rtap_len);
|
||||||
|
|
||||||
rtap_vendor->rtap.rthdr.it_version = PKTHDR_RADIOTAP_VERSION;
|
rtap_vendor->rtap.rthdr.it_version = PKTHDR_RADIOTAP_VERSION;
|
||||||
|
|
|
@ -131,8 +131,7 @@ int prism2_rx_80211(struct net_device *dev, struct sk_buff *skb,
|
||||||
|
|
||||||
if (prism_header == 1) {
|
if (prism_header == 1) {
|
||||||
struct linux_wlan_ng_prism_hdr *hdr;
|
struct linux_wlan_ng_prism_hdr *hdr;
|
||||||
hdr = (struct linux_wlan_ng_prism_hdr *)
|
hdr = skb_push(skb, phdrlen);
|
||||||
skb_push(skb, phdrlen);
|
|
||||||
memset(hdr, 0, phdrlen);
|
memset(hdr, 0, phdrlen);
|
||||||
hdr->msgcode = LWNG_CAP_DID_BASE;
|
hdr->msgcode = LWNG_CAP_DID_BASE;
|
||||||
hdr->msglen = sizeof(*hdr);
|
hdr->msglen = sizeof(*hdr);
|
||||||
|
@ -153,8 +152,7 @@ hdr->f.status = s; hdr->f.len = l; hdr->f.data = d
|
||||||
#undef LWNG_SETVAL
|
#undef LWNG_SETVAL
|
||||||
} else if (prism_header == 2) {
|
} else if (prism_header == 2) {
|
||||||
struct linux_wlan_ng_cap_hdr *hdr;
|
struct linux_wlan_ng_cap_hdr *hdr;
|
||||||
hdr = (struct linux_wlan_ng_cap_hdr *)
|
hdr = skb_push(skb, phdrlen);
|
||||||
skb_push(skb, phdrlen);
|
|
||||||
memset(hdr, 0, phdrlen);
|
memset(hdr, 0, phdrlen);
|
||||||
hdr->version = htonl(LWNG_CAPHDR_VERSION);
|
hdr->version = htonl(LWNG_CAPHDR_VERSION);
|
||||||
hdr->length = htonl(phdrlen);
|
hdr->length = htonl(phdrlen);
|
||||||
|
@ -172,7 +170,7 @@ hdr->f.status = s; hdr->f.len = l; hdr->f.data = d
|
||||||
hdr->encoding = htonl(1); /* cck */
|
hdr->encoding = htonl(1); /* cck */
|
||||||
} else if (prism_header == 3) {
|
} else if (prism_header == 3) {
|
||||||
struct hostap_radiotap_rx *hdr;
|
struct hostap_radiotap_rx *hdr;
|
||||||
hdr = (struct hostap_radiotap_rx *)skb_push(skb, phdrlen);
|
hdr = skb_push(skb, phdrlen);
|
||||||
memset(hdr, 0, phdrlen);
|
memset(hdr, 0, phdrlen);
|
||||||
hdr->hdr.it_len = cpu_to_le16(phdrlen);
|
hdr->hdr.it_len = cpu_to_le16(phdrlen);
|
||||||
hdr->hdr.it_present =
|
hdr->hdr.it_present =
|
||||||
|
|
|
@ -396,7 +396,7 @@ int orinoco_process_xmit_skb(struct sk_buff *skb,
|
||||||
memcpy(hdr.encap, encaps_hdr, sizeof(encaps_hdr));
|
memcpy(hdr.encap, encaps_hdr, sizeof(encaps_hdr));
|
||||||
|
|
||||||
/* Make room for the new header, and copy it in */
|
/* Make room for the new header, and copy it in */
|
||||||
eh = (struct ethhdr *) skb_push(skb, ENCAPS_OVERHEAD);
|
eh = skb_push(skb, ENCAPS_OVERHEAD);
|
||||||
memcpy(eh, &hdr, sizeof(hdr));
|
memcpy(eh, &hdr, sizeof(hdr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1029,11 +1029,10 @@ static void orinoco_rx(struct net_device *dev,
|
||||||
/* These indicate a SNAP within 802.2 LLC within
|
/* These indicate a SNAP within 802.2 LLC within
|
||||||
802.11 frame which we'll need to de-encapsulate to
|
802.11 frame which we'll need to de-encapsulate to
|
||||||
the original EthernetII frame. */
|
the original EthernetII frame. */
|
||||||
hdr = (struct ethhdr *)skb_push(skb,
|
hdr = skb_push(skb, ETH_HLEN - ENCAPS_OVERHEAD);
|
||||||
ETH_HLEN - ENCAPS_OVERHEAD);
|
|
||||||
} else {
|
} else {
|
||||||
/* 802.3 frame - prepend 802.3 header as is */
|
/* 802.3 frame - prepend 802.3 header as is */
|
||||||
hdr = (struct ethhdr *)skb_push(skb, ETH_HLEN);
|
hdr = skb_push(skb, ETH_HLEN);
|
||||||
hdr->h_proto = htons(length);
|
hdr->h_proto = htons(length);
|
||||||
}
|
}
|
||||||
memcpy(hdr->h_dest, desc->addr1, ETH_ALEN);
|
memcpy(hdr->h_dest, desc->addr1, ETH_ALEN);
|
||||||
|
|
|
@ -815,8 +815,8 @@ void p54_tx_80211(struct ieee80211_hw *dev,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
txhdr = (struct p54_tx_data *) skb_push(skb, sizeof(*txhdr) + padding);
|
txhdr = skb_push(skb, sizeof(*txhdr) + padding);
|
||||||
hdr = (struct p54_hdr *) skb_push(skb, sizeof(*hdr));
|
hdr = skb_push(skb, sizeof(*hdr));
|
||||||
|
|
||||||
if (padding)
|
if (padding)
|
||||||
hdr_flags |= P54_HDR_FLAG_DATA_ALIGN;
|
hdr_flags |= P54_HDR_FLAG_DATA_ALIGN;
|
||||||
|
|
|
@ -276,10 +276,7 @@ islpci_monitor_rx(islpci_private *priv, struct sk_buff **skb)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* make room for the new header and fill it. */
|
/* make room for the new header and fill it. */
|
||||||
avs =
|
avs = skb_push(*skb, sizeof(struct avs_80211_1_header));
|
||||||
(struct avs_80211_1_header *) skb_push(*skb,
|
|
||||||
sizeof (struct
|
|
||||||
avs_80211_1_header));
|
|
||||||
|
|
||||||
avs->version = cpu_to_be32(P80211CAPTURE_VERSION);
|
avs->version = cpu_to_be32(P80211CAPTURE_VERSION);
|
||||||
avs->length = cpu_to_be32(sizeof (struct avs_80211_1_header));
|
avs->length = cpu_to_be32(sizeof (struct avs_80211_1_header));
|
||||||
|
|
|
@ -848,7 +848,7 @@ static void mac80211_hwsim_monitor_rx(struct ieee80211_hw *hw,
|
||||||
if (skb == NULL)
|
if (skb == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
hdr = (struct hwsim_radiotap_hdr *) skb_push(skb, sizeof(*hdr));
|
hdr = skb_push(skb, sizeof(*hdr));
|
||||||
hdr->hdr.it_version = PKTHDR_RADIOTAP_VERSION;
|
hdr->hdr.it_version = PKTHDR_RADIOTAP_VERSION;
|
||||||
hdr->hdr.it_pad = 0;
|
hdr->hdr.it_pad = 0;
|
||||||
hdr->hdr.it_len = cpu_to_le16(sizeof(*hdr));
|
hdr->hdr.it_len = cpu_to_le16(sizeof(*hdr));
|
||||||
|
@ -1146,7 +1146,7 @@ static void mac80211_hwsim_add_vendor_rtap(struct sk_buff *skb)
|
||||||
* Note that this code requires the headroom in the SKB
|
* Note that this code requires the headroom in the SKB
|
||||||
* that was allocated earlier.
|
* that was allocated earlier.
|
||||||
*/
|
*/
|
||||||
rtap = (void *)skb_push(skb, sizeof(*rtap) + 8 + 4);
|
rtap = skb_push(skb, sizeof(*rtap) + 8 + 4);
|
||||||
rtap->oui[0] = HWSIM_RADIOTAP_OUI[0];
|
rtap->oui[0] = HWSIM_RADIOTAP_OUI[0];
|
||||||
rtap->oui[1] = HWSIM_RADIOTAP_OUI[1];
|
rtap->oui[1] = HWSIM_RADIOTAP_OUI[1];
|
||||||
rtap->oui[2] = HWSIM_RADIOTAP_OUI[2];
|
rtap->oui[2] = HWSIM_RADIOTAP_OUI[2];
|
||||||
|
|
|
@ -257,7 +257,7 @@ static int process_rxed_802_11_packet(struct lbs_private *priv,
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
pradiotap_hdr = (void *)skb_push(skb, sizeof(struct rx_radiotap_hdr));
|
pradiotap_hdr = skb_push(skb, sizeof(struct rx_radiotap_hdr));
|
||||||
memcpy(pradiotap_hdr, &radiotap_hdr, sizeof(struct rx_radiotap_hdr));
|
memcpy(pradiotap_hdr, &radiotap_hdr, sizeof(struct rx_radiotap_hdr));
|
||||||
|
|
||||||
priv->cur_rate = lbs_fw_index_to_data_rate(prxpd->rx_rate);
|
priv->cur_rate = lbs_fw_index_to_data_rate(prxpd->rx_rate);
|
||||||
|
|
|
@ -260,7 +260,7 @@ static void lbtf_tx_work(struct work_struct *work)
|
||||||
|
|
||||||
len = skb->len;
|
len = skb->len;
|
||||||
info = IEEE80211_SKB_CB(skb);
|
info = IEEE80211_SKB_CB(skb);
|
||||||
txpd = (struct txpd *) skb_push(skb, sizeof(struct txpd));
|
txpd = skb_push(skb, sizeof(struct txpd));
|
||||||
|
|
||||||
if (priv->surpriseremoved) {
|
if (priv->surpriseremoved) {
|
||||||
dev_kfree_skb_any(skb);
|
dev_kfree_skb_any(skb);
|
||||||
|
|
|
@ -148,7 +148,7 @@ mt7601u_push_txwi(struct mt7601u_dev *dev, struct sk_buff *skb,
|
||||||
u16 rate_ctl;
|
u16 rate_ctl;
|
||||||
u8 nss;
|
u8 nss;
|
||||||
|
|
||||||
txwi = (struct mt76_txwi *)skb_push(skb, sizeof(struct mt76_txwi));
|
txwi = skb_push(skb, sizeof(struct mt76_txwi));
|
||||||
memset(txwi, 0, sizeof(*txwi));
|
memset(txwi, 0, sizeof(*txwi));
|
||||||
|
|
||||||
if (!wcid->tx_rate_set)
|
if (!wcid->tx_rate_set)
|
||||||
|
|
|
@ -278,8 +278,7 @@ static void rtl8187_tx(struct ieee80211_hw *dev,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!priv->is_rtl8187b) {
|
if (!priv->is_rtl8187b) {
|
||||||
struct rtl8187_tx_hdr *hdr =
|
struct rtl8187_tx_hdr *hdr = skb_push(skb, sizeof(*hdr));
|
||||||
(struct rtl8187_tx_hdr *)skb_push(skb, sizeof(*hdr));
|
|
||||||
hdr->flags = cpu_to_le32(flags);
|
hdr->flags = cpu_to_le32(flags);
|
||||||
hdr->len = 0;
|
hdr->len = 0;
|
||||||
hdr->rts_duration = rts_dur;
|
hdr->rts_duration = rts_dur;
|
||||||
|
@ -292,8 +291,7 @@ static void rtl8187_tx(struct ieee80211_hw *dev,
|
||||||
unsigned int epmap[4] = { 6, 7, 5, 4 };
|
unsigned int epmap[4] = { 6, 7, 5, 4 };
|
||||||
u16 fc = le16_to_cpu(tx_hdr->frame_control);
|
u16 fc = le16_to_cpu(tx_hdr->frame_control);
|
||||||
|
|
||||||
struct rtl8187b_tx_hdr *hdr =
|
struct rtl8187b_tx_hdr *hdr = skb_push(skb, sizeof(*hdr));
|
||||||
(struct rtl8187b_tx_hdr *)skb_push(skb, sizeof(*hdr));
|
|
||||||
struct ieee80211_rate *txrate =
|
struct ieee80211_rate *txrate =
|
||||||
ieee80211_get_tx_rate(dev, info);
|
ieee80211_get_tx_rate(dev, info);
|
||||||
memset(hdr, 0, sizeof(*hdr));
|
memset(hdr, 0, sizeof(*hdr));
|
||||||
|
|
|
@ -4952,7 +4952,7 @@ static void rtl8xxxu_tx(struct ieee80211_hw *hw,
|
||||||
if (control && control->sta)
|
if (control && control->sta)
|
||||||
sta = control->sta;
|
sta = control->sta;
|
||||||
|
|
||||||
tx_desc = (struct rtl8xxxu_txdesc32 *)skb_push(skb, tx_desc_size);
|
tx_desc = skb_push(skb, tx_desc_size);
|
||||||
|
|
||||||
memset(tx_desc, 0, tx_desc_size);
|
memset(tx_desc, 0, tx_desc_size);
|
||||||
tx_desc->pkt_size = cpu_to_le16(pktlen);
|
tx_desc->pkt_size = cpu_to_le16(pktlen);
|
||||||
|
|
|
@ -512,7 +512,7 @@ void rtl92cu_tx_fill_desc(struct ieee80211_hw *hw,
|
||||||
|
|
||||||
seq_number = (le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4;
|
seq_number = (le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4;
|
||||||
rtl_get_tcb_desc(hw, info, sta, skb, tcb_desc);
|
rtl_get_tcb_desc(hw, info, sta, skb, tcb_desc);
|
||||||
txdesc = (u8 *)skb_push(skb, RTL_TX_HEADER_SIZE);
|
txdesc = skb_push(skb, RTL_TX_HEADER_SIZE);
|
||||||
memset(txdesc, 0, RTL_TX_HEADER_SIZE);
|
memset(txdesc, 0, RTL_TX_HEADER_SIZE);
|
||||||
SET_TX_DESC_PKT_SIZE(txdesc, pktlen);
|
SET_TX_DESC_PKT_SIZE(txdesc, pktlen);
|
||||||
SET_TX_DESC_LINIP(txdesc, 0);
|
SET_TX_DESC_LINIP(txdesc, 0);
|
||||||
|
|
|
@ -574,7 +574,7 @@ cw1200_tx_h_wsm(struct cw1200_common *priv,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
wsm = (struct wsm_tx *)skb_push(t->skb, sizeof(struct wsm_tx));
|
wsm = skb_push(t->skb, sizeof(struct wsm_tx));
|
||||||
t->txpriv.offset += sizeof(struct wsm_tx);
|
t->txpriv.offset += sizeof(struct wsm_tx);
|
||||||
memset(wsm, 0, sizeof(*wsm));
|
memset(wsm, 0, sizeof(*wsm));
|
||||||
wsm->hdr.len = __cpu_to_le16(t->skb->len);
|
wsm->hdr.len = __cpu_to_le16(t->skb->len);
|
||||||
|
|
|
@ -161,8 +161,7 @@ static int wl1251_tx_fill_hdr(struct wl1251 *wl, struct sk_buff *skb,
|
||||||
return id;
|
return id;
|
||||||
|
|
||||||
fc = *(u16 *)skb->data;
|
fc = *(u16 *)skb->data;
|
||||||
tx_hdr = (struct tx_double_buffer_desc *) skb_push(skb,
|
tx_hdr = skb_push(skb, sizeof(*tx_hdr));
|
||||||
sizeof(*tx_hdr));
|
|
||||||
|
|
||||||
tx_hdr->length = cpu_to_le16(skb->len - sizeof(*tx_hdr));
|
tx_hdr->length = cpu_to_le16(skb->len - sizeof(*tx_hdr));
|
||||||
rate = ieee80211_get_tx_rate(wl->hw, control);
|
rate = ieee80211_get_tx_rate(wl->hw, control);
|
||||||
|
|
|
@ -1282,7 +1282,7 @@ int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif)
|
||||||
memset(skb_push(skb, sizeof(__le16)), 0, sizeof(__le16));
|
memset(skb_push(skb, sizeof(__le16)), 0, sizeof(__le16));
|
||||||
|
|
||||||
/* mac80211 header */
|
/* mac80211 header */
|
||||||
hdr = (struct ieee80211_hdr_3addr *)skb_push(skb, sizeof(*hdr));
|
hdr = skb_push(skb, sizeof(*hdr));
|
||||||
memset(hdr, 0, sizeof(*hdr));
|
memset(hdr, 0, sizeof(*hdr));
|
||||||
fc = IEEE80211_FTYPE_DATA | IEEE80211_FCTL_TODS;
|
fc = IEEE80211_FTYPE_DATA | IEEE80211_FCTL_TODS;
|
||||||
if (wlvif->sta.qos)
|
if (wlvif->sta.qos)
|
||||||
|
|
|
@ -223,8 +223,7 @@ static int wl1271_tx_allocate(struct wl1271 *wl, struct wl12xx_vif *wlvif,
|
||||||
total_blocks = wlcore_hw_calc_tx_blocks(wl, total_len, spare_blocks);
|
total_blocks = wlcore_hw_calc_tx_blocks(wl, total_len, spare_blocks);
|
||||||
|
|
||||||
if (total_blocks <= wl->tx_blocks_available) {
|
if (total_blocks <= wl->tx_blocks_available) {
|
||||||
desc = (struct wl1271_tx_hw_descr *)skb_push(
|
desc = skb_push(skb, total_len - skb->len);
|
||||||
skb, total_len - skb->len);
|
|
||||||
|
|
||||||
wlcore_hw_set_tx_desc_blocks(wl, desc, total_blocks,
|
wlcore_hw_set_tx_desc_blocks(wl, desc, total_blocks,
|
||||||
spare_blocks);
|
spare_blocks);
|
||||||
|
|
|
@ -868,8 +868,7 @@ static int fill_ctrlset(struct zd_mac *mac,
|
||||||
unsigned int frag_len = skb->len + FCS_LEN;
|
unsigned int frag_len = skb->len + FCS_LEN;
|
||||||
unsigned int packet_length;
|
unsigned int packet_length;
|
||||||
struct ieee80211_rate *txrate;
|
struct ieee80211_rate *txrate;
|
||||||
struct zd_ctrlset *cs = (struct zd_ctrlset *)
|
struct zd_ctrlset *cs = skb_push(skb, sizeof(struct zd_ctrlset));
|
||||||
skb_push(skb, sizeof(struct zd_ctrlset));
|
|
||||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||||
|
|
||||||
ZD_ASSERT(frag_len <= 0xffff);
|
ZD_ASSERT(frag_len <= 0xffff);
|
||||||
|
|
|
@ -79,8 +79,8 @@ static void fdp_nci_i2c_add_len_lrc(struct sk_buff *skb)
|
||||||
|
|
||||||
/* Add length header */
|
/* Add length header */
|
||||||
len = skb->len;
|
len = skb->len;
|
||||||
*skb_push(skb, 1) = len & 0xff;
|
*(u8 *)skb_push(skb, 1) = len & 0xff;
|
||||||
*skb_push(skb, 1) = len >> 8;
|
*(u8 *)skb_push(skb, 1) = len >> 8;
|
||||||
|
|
||||||
/* Compute and add lrc */
|
/* Compute and add lrc */
|
||||||
for (i = 0; i < len + 2; i++)
|
for (i = 0; i < len + 2; i++)
|
||||||
|
|
|
@ -70,7 +70,7 @@ static void microread_i2c_add_len_crc(struct sk_buff *skb)
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
len = skb->len;
|
len = skb->len;
|
||||||
*skb_push(skb, 1) = len;
|
*(u8 *)skb_push(skb, 1) = len;
|
||||||
|
|
||||||
for (i = 0; i < skb->len; i++)
|
for (i = 0; i < skb->len; i++)
|
||||||
crc = crc ^ skb->data[i];
|
crc = crc ^ skb->data[i];
|
||||||
|
|
|
@ -419,7 +419,7 @@ static int microread_im_transceive(struct nfc_hci_dev *hdev,
|
||||||
pr_info("data exchange to gate 0x%x\n", target->hci_reader_gate);
|
pr_info("data exchange to gate 0x%x\n", target->hci_reader_gate);
|
||||||
|
|
||||||
if (target->hci_reader_gate == MICROREAD_GATE_ID_P2P_INITIATOR) {
|
if (target->hci_reader_gate == MICROREAD_GATE_ID_P2P_INITIATOR) {
|
||||||
*skb_push(skb, 1) = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
|
|
||||||
return nfc_hci_send_event(hdev, target->hci_reader_gate,
|
return nfc_hci_send_event(hdev, target->hci_reader_gate,
|
||||||
MICROREAD_EVT_P2P_INITIATOR_EXCHANGE_TO_RF,
|
MICROREAD_EVT_P2P_INITIATOR_EXCHANGE_TO_RF,
|
||||||
|
@ -453,7 +453,7 @@ static int microread_im_transceive(struct nfc_hci_dev *hdev,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
*skb_push(skb, 1) = control_bits;
|
*(u8 *)skb_push(skb, 1) = control_bits;
|
||||||
|
|
||||||
info->async_cb_type = MICROREAD_CB_TYPE_READER_ALL;
|
info->async_cb_type = MICROREAD_CB_TYPE_READER_ALL;
|
||||||
info->async_cb = cb;
|
info->async_cb = cb;
|
||||||
|
|
|
@ -68,7 +68,7 @@ static int nfcmrvl_nci_send(struct nci_dev *ndev, struct sk_buff *skb)
|
||||||
unsigned char *hdr;
|
unsigned char *hdr;
|
||||||
unsigned char len = skb->len;
|
unsigned char len = skb->len;
|
||||||
|
|
||||||
hdr = (char *) skb_push(skb, NFCMRVL_HCI_EVENT_HEADER_SIZE);
|
hdr = skb_push(skb, NFCMRVL_HCI_EVENT_HEADER_SIZE);
|
||||||
hdr[0] = NFCMRVL_HCI_COMMAND_CODE;
|
hdr[0] = NFCMRVL_HCI_COMMAND_CODE;
|
||||||
hdr[1] = NFCMRVL_HCI_OGF;
|
hdr[1] = NFCMRVL_HCI_OGF;
|
||||||
hdr[2] = NFCMRVL_HCI_OCF;
|
hdr[2] = NFCMRVL_HCI_OCF;
|
||||||
|
|
|
@ -2090,10 +2090,10 @@ static int pn533_fill_fragment_skbs(struct pn533 *dev, struct sk_buff *skb)
|
||||||
|
|
||||||
/* MI + TG */
|
/* MI + TG */
|
||||||
if (frag_size == PN533_CMD_DATAFRAME_MAXLEN)
|
if (frag_size == PN533_CMD_DATAFRAME_MAXLEN)
|
||||||
*skb_push(frag, sizeof(u8)) =
|
*(u8 *)skb_push(frag, sizeof(u8)) =
|
||||||
(PN533_CMD_MI_MASK | 1);
|
(PN533_CMD_MI_MASK | 1);
|
||||||
else
|
else
|
||||||
*skb_push(frag, sizeof(u8)) = 1; /* TG */
|
*(u8 *)skb_push(frag, sizeof(u8)) = 1; /* TG */
|
||||||
}
|
}
|
||||||
|
|
||||||
skb_put_data(frag, skb->data, frag_size);
|
skb_put_data(frag, skb->data, frag_size);
|
||||||
|
@ -2160,7 +2160,7 @@ static int pn533_transceive(struct nfc_dev *nfc_dev,
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
*skb_push(skb, sizeof(u8)) = 1; /* TG */
|
*(u8 *)skb_push(skb, sizeof(u8)) = 1; /* TG */
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = pn533_send_data_async(dev, PN533_CMD_IN_DATA_EXCHANGE,
|
rc = pn533_send_data_async(dev, PN533_CMD_IN_DATA_EXCHANGE,
|
||||||
|
|
|
@ -283,7 +283,7 @@ static void pn544_hci_i2c_add_len_crc(struct sk_buff *skb)
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
len = skb->len + 2;
|
len = skb->len + 2;
|
||||||
*skb_push(skb, 1) = len;
|
*(u8 *)skb_push(skb, 1) = len;
|
||||||
|
|
||||||
crc = crc_ccitt(0xffff, skb->data, skb->len);
|
crc = crc_ccitt(0xffff, skb->data, skb->len);
|
||||||
crc = ~crc;
|
crc = ~crc;
|
||||||
|
|
|
@ -649,8 +649,8 @@ static int pn544_hci_im_transceive(struct nfc_hci_dev *hdev,
|
||||||
} else
|
} else
|
||||||
return 1;
|
return 1;
|
||||||
case PN544_RF_READER_F_GATE:
|
case PN544_RF_READER_F_GATE:
|
||||||
*skb_push(skb, 1) = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
*skb_push(skb, 1) = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
|
|
||||||
info->async_cb_type = PN544_CB_TYPE_READER_F;
|
info->async_cb_type = PN544_CB_TYPE_READER_F;
|
||||||
info->async_cb = cb;
|
info->async_cb = cb;
|
||||||
|
@ -665,7 +665,7 @@ static int pn544_hci_im_transceive(struct nfc_hci_dev *hdev,
|
||||||
PN544_JEWEL_RAW_CMD, skb->data,
|
PN544_JEWEL_RAW_CMD, skb->data,
|
||||||
skb->len, cb, cb_context);
|
skb->len, cb, cb_context);
|
||||||
case PN544_RF_READER_NFCIP1_INITIATOR_GATE:
|
case PN544_RF_READER_NFCIP1_INITIATOR_GATE:
|
||||||
*skb_push(skb, 1) = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
|
|
||||||
return nfc_hci_send_event(hdev, target->hci_reader_gate,
|
return nfc_hci_send_event(hdev, target->hci_reader_gate,
|
||||||
PN544_HCI_EVT_SND_DATA, skb->data,
|
PN544_HCI_EVT_SND_DATA, skb->data,
|
||||||
|
@ -680,7 +680,7 @@ static int pn544_hci_tm_send(struct nfc_hci_dev *hdev, struct sk_buff *skb)
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
/* Set default false for multiple information chaining */
|
/* Set default false for multiple information chaining */
|
||||||
*skb_push(skb, 1) = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
|
|
||||||
r = nfc_hci_send_event(hdev, PN544_RF_READER_NFCIP1_TARGET_GATE,
|
r = nfc_hci_send_event(hdev, PN544_RF_READER_NFCIP1_TARGET_GATE,
|
||||||
PN544_HCI_EVT_SND_DATA, skb->data, skb->len);
|
PN544_HCI_EVT_SND_DATA, skb->data, skb->len);
|
||||||
|
|
|
@ -87,7 +87,7 @@ int ndlc_send(struct llt_ndlc *ndlc, struct sk_buff *skb)
|
||||||
u8 pcb = PCB_TYPE_DATAFRAME | PCB_DATAFRAME_RETRANSMIT_NO |
|
u8 pcb = PCB_TYPE_DATAFRAME | PCB_DATAFRAME_RETRANSMIT_NO |
|
||||||
PCB_FRAME_CRC_INFO_NOTPRESENT;
|
PCB_FRAME_CRC_INFO_NOTPRESENT;
|
||||||
|
|
||||||
*skb_push(skb, 1) = pcb;
|
*(u8 *)skb_push(skb, 1) = pcb;
|
||||||
skb_queue_tail(&ndlc->send_q, skb);
|
skb_queue_tail(&ndlc->send_q, skb);
|
||||||
|
|
||||||
schedule_work(&ndlc->sm_work);
|
schedule_work(&ndlc->sm_work);
|
||||||
|
|
|
@ -782,12 +782,12 @@ static int st21nfca_hci_im_transceive(struct nfc_hci_dev *hdev,
|
||||||
if (target->supported_protocols == NFC_PROTO_NFC_DEP_MASK)
|
if (target->supported_protocols == NFC_PROTO_NFC_DEP_MASK)
|
||||||
return st21nfca_im_send_dep_req(hdev, skb);
|
return st21nfca_im_send_dep_req(hdev, skb);
|
||||||
|
|
||||||
*skb_push(skb, 1) = 0x1a;
|
*(u8 *)skb_push(skb, 1) = 0x1a;
|
||||||
return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
|
return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
|
||||||
ST21NFCA_WR_XCHG_DATA, skb->data,
|
ST21NFCA_WR_XCHG_DATA, skb->data,
|
||||||
skb->len, cb, cb_context);
|
skb->len, cb, cb_context);
|
||||||
case ST21NFCA_RF_READER_14443_3_A_GATE:
|
case ST21NFCA_RF_READER_14443_3_A_GATE:
|
||||||
*skb_push(skb, 1) = 0x1a; /* CTR, see spec:10.2.2.1 */
|
*(u8 *)skb_push(skb, 1) = 0x1a; /* CTR, see spec:10.2.2.1 */
|
||||||
|
|
||||||
return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
|
return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
|
||||||
ST21NFCA_WR_XCHG_DATA, skb->data,
|
ST21NFCA_WR_XCHG_DATA, skb->data,
|
||||||
|
@ -797,7 +797,7 @@ static int st21nfca_hci_im_transceive(struct nfc_hci_dev *hdev,
|
||||||
info->async_cb = cb;
|
info->async_cb = cb;
|
||||||
info->async_cb_context = cb_context;
|
info->async_cb_context = cb_context;
|
||||||
|
|
||||||
*skb_push(skb, 1) = 0x17;
|
*(u8 *)skb_push(skb, 1) = 0x17;
|
||||||
|
|
||||||
return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
|
return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
|
||||||
ST21NFCA_WR_XCHG_DATA, skb->data,
|
ST21NFCA_WR_XCHG_DATA, skb->data,
|
||||||
|
|
|
@ -315,10 +315,10 @@ int st21nfca_tm_send_dep_res(struct nfc_hci_dev *hdev, struct sk_buff *skb)
|
||||||
int r;
|
int r;
|
||||||
struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
|
struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
|
||||||
|
|
||||||
*skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni;
|
*(u8 *)skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni;
|
||||||
*skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_RES;
|
*(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_RES;
|
||||||
*skb_push(skb, 1) = ST21NFCA_NFCIP1_RES;
|
*(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_RES;
|
||||||
*skb_push(skb, 1) = skb->len;
|
*(u8 *)skb_push(skb, 1) = skb->len;
|
||||||
|
|
||||||
r = nfc_hci_send_event(hdev, ST21NFCA_RF_CARD_F_GATE,
|
r = nfc_hci_send_event(hdev, ST21NFCA_RF_CARD_F_GATE,
|
||||||
ST21NFCA_EVT_SEND_DATA, skb->data, skb->len);
|
ST21NFCA_EVT_SEND_DATA, skb->data, skb->len);
|
||||||
|
@ -466,7 +466,7 @@ static void st21nfca_im_send_psl_req(struct nfc_hci_dev *hdev, u8 did, u8 bsi,
|
||||||
psl_req->brs = (0x30 & bsi << 4) | (bri & 0x03);
|
psl_req->brs = (0x30 & bsi << 4) | (bri & 0x03);
|
||||||
psl_req->fsl = lri;
|
psl_req->fsl = lri;
|
||||||
|
|
||||||
*skb_push(skb, 1) = info->dep_info.to | 0x10;
|
*(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10;
|
||||||
|
|
||||||
st21nfca_im_send_pdu(info, skb);
|
st21nfca_im_send_pdu(info, skb);
|
||||||
}
|
}
|
||||||
|
@ -568,7 +568,7 @@ int st21nfca_im_send_atr_req(struct nfc_hci_dev *hdev, u8 *gb, size_t gb_len)
|
||||||
}
|
}
|
||||||
atr_req->length = sizeof(struct st21nfca_atr_req) + hdev->gb_len;
|
atr_req->length = sizeof(struct st21nfca_atr_req) + hdev->gb_len;
|
||||||
|
|
||||||
*skb_push(skb, 1) = info->dep_info.to | 0x10; /* timeout */
|
*(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10; /* timeout */
|
||||||
|
|
||||||
info->async_cb_type = ST21NFCA_CB_TYPE_READER_F;
|
info->async_cb_type = ST21NFCA_CB_TYPE_READER_F;
|
||||||
info->async_cb_context = info;
|
info->async_cb_context = info;
|
||||||
|
@ -629,10 +629,10 @@ static void st21nfca_im_recv_dep_res_cb(void *context, struct sk_buff *skb,
|
||||||
case ST21NFCA_NFC_DEP_PFB_SUPERVISOR_PDU:
|
case ST21NFCA_NFC_DEP_PFB_SUPERVISOR_PDU:
|
||||||
pr_err("Received a SUPERVISOR PDU\n");
|
pr_err("Received a SUPERVISOR PDU\n");
|
||||||
skb_pull(skb, size);
|
skb_pull(skb, size);
|
||||||
*skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ;
|
*(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ;
|
||||||
*skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ;
|
*(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ;
|
||||||
*skb_push(skb, 1) = skb->len;
|
*(u8 *)skb_push(skb, 1) = skb->len;
|
||||||
*skb_push(skb, 1) = info->dep_info.to | 0x10;
|
*(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10;
|
||||||
|
|
||||||
st21nfca_im_send_pdu(info, skb);
|
st21nfca_im_send_pdu(info, skb);
|
||||||
break;
|
break;
|
||||||
|
@ -655,12 +655,12 @@ int st21nfca_im_send_dep_req(struct nfc_hci_dev *hdev, struct sk_buff *skb)
|
||||||
info->async_cb_context = info;
|
info->async_cb_context = info;
|
||||||
info->async_cb = st21nfca_im_recv_dep_res_cb;
|
info->async_cb = st21nfca_im_recv_dep_res_cb;
|
||||||
|
|
||||||
*skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni;
|
*(u8 *)skb_push(skb, 1) = info->dep_info.curr_nfc_dep_pni;
|
||||||
*skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ;
|
*(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_DEP_REQ;
|
||||||
*skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ;
|
*(u8 *)skb_push(skb, 1) = ST21NFCA_NFCIP1_REQ;
|
||||||
*skb_push(skb, 1) = skb->len;
|
*(u8 *)skb_push(skb, 1) = skb->len;
|
||||||
|
|
||||||
*skb_push(skb, 1) = info->dep_info.to | 0x10;
|
*(u8 *)skb_push(skb, 1) = info->dep_info.to | 0x10;
|
||||||
|
|
||||||
return nfc_hci_send_cmd_async(hdev, ST21NFCA_RF_READER_F_GATE,
|
return nfc_hci_send_cmd_async(hdev, ST21NFCA_RF_READER_F_GATE,
|
||||||
ST21NFCA_WR_XCHG_DATA,
|
ST21NFCA_WR_XCHG_DATA,
|
||||||
|
|
|
@ -171,7 +171,7 @@ static void st21nfca_hci_add_len_crc(struct sk_buff *skb)
|
||||||
u16 crc;
|
u16 crc;
|
||||||
u8 tmp;
|
u8 tmp;
|
||||||
|
|
||||||
*skb_push(skb, 1) = 0;
|
*(u8 *)skb_push(skb, 1) = 0;
|
||||||
|
|
||||||
crc = crc_ccitt(0xffff, skb->data, skb->len);
|
crc = crc_ccitt(0xffff, skb->data, skb->len);
|
||||||
crc = ~crc;
|
crc = ~crc;
|
||||||
|
@ -216,7 +216,7 @@ static int st21nfca_hci_i2c_write(void *phy_id, struct sk_buff *skb)
|
||||||
/* add ST21NFCA_SOF_EOF on tail */
|
/* add ST21NFCA_SOF_EOF on tail */
|
||||||
*(u8 *)skb_put(skb, 1) = ST21NFCA_SOF_EOF;
|
*(u8 *)skb_put(skb, 1) = ST21NFCA_SOF_EOF;
|
||||||
/* add ST21NFCA_SOF_EOF on head */
|
/* add ST21NFCA_SOF_EOF on head */
|
||||||
*skb_push(skb, 1) = ST21NFCA_SOF_EOF;
|
*(u8 *)skb_push(skb, 1) = ST21NFCA_SOF_EOF;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute byte stuffing
|
* Compute byte stuffing
|
||||||
|
|
|
@ -759,8 +759,7 @@ static netdev_tx_t qeth_l2_hard_start_xmit(struct sk_buff *skb,
|
||||||
sizeof(struct qeth_hdr));
|
sizeof(struct qeth_hdr));
|
||||||
if (!new_skb)
|
if (!new_skb)
|
||||||
goto tx_drop;
|
goto tx_drop;
|
||||||
hdr = (struct qeth_hdr *)skb_push(new_skb,
|
hdr = skb_push(new_skb, sizeof(struct qeth_hdr));
|
||||||
sizeof(struct qeth_hdr));
|
|
||||||
skb_set_mac_header(new_skb, sizeof(struct qeth_hdr));
|
skb_set_mac_header(new_skb, sizeof(struct qeth_hdr));
|
||||||
qeth_l2_fill_header(card, hdr, new_skb, cast_type);
|
qeth_l2_fill_header(card, hdr, new_skb, cast_type);
|
||||||
if (new_skb->ip_summed == CHECKSUM_PARTIAL)
|
if (new_skb->ip_summed == CHECKSUM_PARTIAL)
|
||||||
|
|
|
@ -2729,16 +2729,14 @@ static netdev_tx_t qeth_l3_hard_start_xmit(struct sk_buff *skb,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (use_tso) {
|
if (use_tso) {
|
||||||
hdr = (struct qeth_hdr *)skb_push(new_skb,
|
hdr = skb_push(new_skb, sizeof(struct qeth_hdr_tso));
|
||||||
sizeof(struct qeth_hdr_tso));
|
|
||||||
memset(hdr, 0, sizeof(struct qeth_hdr_tso));
|
memset(hdr, 0, sizeof(struct qeth_hdr_tso));
|
||||||
qeth_l3_fill_header(card, hdr, new_skb, ipv, cast_type);
|
qeth_l3_fill_header(card, hdr, new_skb, ipv, cast_type);
|
||||||
qeth_tso_fill_header(card, hdr, new_skb);
|
qeth_tso_fill_header(card, hdr, new_skb);
|
||||||
hdr_elements++;
|
hdr_elements++;
|
||||||
} else {
|
} else {
|
||||||
if (data_offset < 0) {
|
if (data_offset < 0) {
|
||||||
hdr = (struct qeth_hdr *)skb_push(new_skb,
|
hdr = skb_push(new_skb, sizeof(struct qeth_hdr));
|
||||||
sizeof(struct qeth_hdr));
|
|
||||||
qeth_l3_fill_header(card, hdr, new_skb, ipv,
|
qeth_l3_fill_header(card, hdr, new_skb, ipv,
|
||||||
cast_type);
|
cast_type);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -354,7 +354,7 @@ static inline void make_tx_data_wr(struct cxgbi_sock *csk, struct sk_buff *skb,
|
||||||
struct l2t_entry *l2t = csk->l2t;
|
struct l2t_entry *l2t = csk->l2t;
|
||||||
|
|
||||||
skb_reset_transport_header(skb);
|
skb_reset_transport_header(skb);
|
||||||
req = (struct tx_data_wr *)__skb_push(skb, sizeof(*req));
|
req = __skb_push(skb, sizeof(*req));
|
||||||
req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA) |
|
req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_TX_DATA) |
|
||||||
(req_completion ? F_WR_COMPL : 0));
|
(req_completion ? F_WR_COMPL : 0));
|
||||||
req->wr_lo = htonl(V_WR_TID(csk->tid));
|
req->wr_lo = htonl(V_WR_TID(csk->tid));
|
||||||
|
|
|
@ -644,7 +644,7 @@ static inline void make_tx_data_wr(struct cxgbi_sock *csk, struct sk_buff *skb,
|
||||||
unsigned int wr_ulp_mode = 0, val;
|
unsigned int wr_ulp_mode = 0, val;
|
||||||
bool imm = is_ofld_imm(skb);
|
bool imm = is_ofld_imm(skb);
|
||||||
|
|
||||||
req = (struct fw_ofld_tx_data_wr *)__skb_push(skb, sizeof(*req));
|
req = __skb_push(skb, sizeof(*req));
|
||||||
|
|
||||||
if (imm) {
|
if (imm) {
|
||||||
req->op_to_immdlen = htonl(FW_WR_OP_V(FW_OFLD_TX_DATA_WR) |
|
req->op_to_immdlen = htonl(FW_WR_OP_V(FW_OFLD_TX_DATA_WR) |
|
||||||
|
|
|
@ -626,7 +626,7 @@ static int fcoe_ctlr_encaps(struct fcoe_ctlr *fip, struct fc_lport *lport,
|
||||||
fh = (struct fc_frame_header *)skb->data;
|
fh = (struct fc_frame_header *)skb->data;
|
||||||
op = *(u8 *)(fh + 1);
|
op = *(u8 *)(fh + 1);
|
||||||
dlen = sizeof(struct fip_encaps) + skb->len; /* len before push */
|
dlen = sizeof(struct fip_encaps) + skb->len; /* len before push */
|
||||||
cap = (struct fip_encaps_head *)skb_push(skb, sizeof(*cap));
|
cap = skb_push(skb, sizeof(*cap));
|
||||||
memset(cap, 0, sizeof(*cap));
|
memset(cap, 0, sizeof(*cap));
|
||||||
|
|
||||||
if (lport->point_to_multipoint) {
|
if (lport->point_to_multipoint) {
|
||||||
|
|
|
@ -1000,8 +1000,7 @@ void fnic_eth_send(struct fcoe_ctlr *fip, struct sk_buff *skb)
|
||||||
|
|
||||||
if (!fnic->vlan_hw_insert) {
|
if (!fnic->vlan_hw_insert) {
|
||||||
eth_hdr = (struct ethhdr *)skb_mac_header(skb);
|
eth_hdr = (struct ethhdr *)skb_mac_header(skb);
|
||||||
vlan_hdr = (struct vlan_ethhdr *)skb_push(skb,
|
vlan_hdr = skb_push(skb, sizeof(*vlan_hdr) - sizeof(*eth_hdr));
|
||||||
sizeof(*vlan_hdr) - sizeof(*eth_hdr));
|
|
||||||
memcpy(vlan_hdr, eth_hdr, 2 * ETH_ALEN);
|
memcpy(vlan_hdr, eth_hdr, 2 * ETH_ALEN);
|
||||||
vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q);
|
vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q);
|
||||||
vlan_hdr->h_vlan_encapsulated_proto = eth_hdr->h_proto;
|
vlan_hdr->h_vlan_encapsulated_proto = eth_hdr->h_proto;
|
||||||
|
@ -1067,7 +1066,7 @@ static int fnic_send_frame(struct fnic *fnic, struct fc_frame *fp)
|
||||||
|
|
||||||
if (!fnic->vlan_hw_insert) {
|
if (!fnic->vlan_hw_insert) {
|
||||||
eth_hdr_len = sizeof(*vlan_hdr) + sizeof(*fcoe_hdr);
|
eth_hdr_len = sizeof(*vlan_hdr) + sizeof(*fcoe_hdr);
|
||||||
vlan_hdr = (struct vlan_ethhdr *)skb_push(skb, eth_hdr_len);
|
vlan_hdr = skb_push(skb, eth_hdr_len);
|
||||||
eth_hdr = (struct ethhdr *)vlan_hdr;
|
eth_hdr = (struct ethhdr *)vlan_hdr;
|
||||||
vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q);
|
vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q);
|
||||||
vlan_hdr->h_vlan_encapsulated_proto = htons(ETH_P_FCOE);
|
vlan_hdr->h_vlan_encapsulated_proto = htons(ETH_P_FCOE);
|
||||||
|
@ -1075,7 +1074,7 @@ static int fnic_send_frame(struct fnic *fnic, struct fc_frame *fp)
|
||||||
fcoe_hdr = (struct fcoe_hdr *)(vlan_hdr + 1);
|
fcoe_hdr = (struct fcoe_hdr *)(vlan_hdr + 1);
|
||||||
} else {
|
} else {
|
||||||
eth_hdr_len = sizeof(*eth_hdr) + sizeof(*fcoe_hdr);
|
eth_hdr_len = sizeof(*eth_hdr) + sizeof(*fcoe_hdr);
|
||||||
eth_hdr = (struct ethhdr *)skb_push(skb, eth_hdr_len);
|
eth_hdr = skb_push(skb, eth_hdr_len);
|
||||||
eth_hdr->h_proto = htons(ETH_P_FCOE);
|
eth_hdr->h_proto = htons(ETH_P_FCOE);
|
||||||
fcoe_hdr = (struct fcoe_hdr *)(eth_hdr + 1);
|
fcoe_hdr = (struct fcoe_hdr *)(eth_hdr + 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,8 +125,7 @@ void qedf_fip_send(struct fcoe_ctlr *fip, struct sk_buff *skb)
|
||||||
sub = fiph->fip_subcode;
|
sub = fiph->fip_subcode;
|
||||||
|
|
||||||
if (!qedf->vlan_hw_insert) {
|
if (!qedf->vlan_hw_insert) {
|
||||||
vlan_hdr = (struct vlan_ethhdr *)skb_push(skb, sizeof(*vlan_hdr)
|
vlan_hdr = skb_push(skb, sizeof(*vlan_hdr) - sizeof(*eth_hdr));
|
||||||
- sizeof(*eth_hdr));
|
|
||||||
memcpy(vlan_hdr, eth_hdr, 2 * ETH_ALEN);
|
memcpy(vlan_hdr, eth_hdr, 2 * ETH_ALEN);
|
||||||
vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q);
|
vlan_hdr->h_vlan_proto = htons(ETH_P_8021Q);
|
||||||
vlan_hdr->h_vlan_encapsulated_proto = eth_hdr->h_proto;
|
vlan_hdr->h_vlan_encapsulated_proto = eth_hdr->h_proto;
|
||||||
|
|
|
@ -74,7 +74,7 @@ void WILC_WFI_monitor_rx(u8 *buff, u32 size)
|
||||||
|
|
||||||
skb_put_data(skb, buff, size);
|
skb_put_data(skb, buff, size);
|
||||||
|
|
||||||
cb_hdr = (struct wilc_wfi_radiotap_cb_hdr *)skb_push(skb, sizeof(*cb_hdr));
|
cb_hdr = skb_push(skb, sizeof(*cb_hdr));
|
||||||
memset(cb_hdr, 0, sizeof(struct wilc_wfi_radiotap_cb_hdr));
|
memset(cb_hdr, 0, sizeof(struct wilc_wfi_radiotap_cb_hdr));
|
||||||
|
|
||||||
cb_hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */
|
cb_hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */
|
||||||
|
@ -101,7 +101,7 @@ void WILC_WFI_monitor_rx(u8 *buff, u32 size)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
skb_put_data(skb, buff, size);
|
skb_put_data(skb, buff, size);
|
||||||
hdr = (struct wilc_wfi_radiotap_hdr *)skb_push(skb, sizeof(*hdr));
|
hdr = skb_push(skb, sizeof(*hdr));
|
||||||
memset(hdr, 0, sizeof(struct wilc_wfi_radiotap_hdr));
|
memset(hdr, 0, sizeof(struct wilc_wfi_radiotap_hdr));
|
||||||
hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */
|
hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */
|
||||||
hdr->hdr.it_len = cpu_to_le16(sizeof(struct wilc_wfi_radiotap_hdr));
|
hdr->hdr.it_len = cpu_to_le16(sizeof(struct wilc_wfi_radiotap_hdr));
|
||||||
|
@ -202,7 +202,7 @@ static netdev_tx_t WILC_WFI_mon_xmit(struct sk_buff *skb,
|
||||||
|
|
||||||
skb_put_data(skb2, skb->data, skb->len);
|
skb_put_data(skb2, skb->data, skb->len);
|
||||||
|
|
||||||
cb_hdr = (struct wilc_wfi_radiotap_cb_hdr *)skb_push(skb2, sizeof(*cb_hdr));
|
cb_hdr = skb_push(skb2, sizeof(*cb_hdr));
|
||||||
memset(cb_hdr, 0, sizeof(struct wilc_wfi_radiotap_cb_hdr));
|
memset(cb_hdr, 0, sizeof(struct wilc_wfi_radiotap_cb_hdr));
|
||||||
|
|
||||||
cb_hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */
|
cb_hdr->hdr.it_version = 0; /* PKTHDR_RADIOTAP_VERSION; */
|
||||||
|
|
|
@ -148,9 +148,7 @@ int skb_ether_to_p80211(struct wlandevice *wlandev, u32 ethconv,
|
||||||
skb_pull(skb, ETH_HLEN);
|
skb_pull(skb, ETH_HLEN);
|
||||||
|
|
||||||
/* tack on SNAP */
|
/* tack on SNAP */
|
||||||
e_snap =
|
e_snap = skb_push(skb, sizeof(struct wlan_snap));
|
||||||
(struct wlan_snap *)skb_push(skb,
|
|
||||||
sizeof(struct wlan_snap));
|
|
||||||
e_snap->type = htons(proto);
|
e_snap->type = htons(proto);
|
||||||
if (ethconv == WLAN_ETHCONV_8021h &&
|
if (ethconv == WLAN_ETHCONV_8021h &&
|
||||||
p80211_stt_findproto(proto)) {
|
p80211_stt_findproto(proto)) {
|
||||||
|
@ -162,9 +160,7 @@ int skb_ether_to_p80211(struct wlandevice *wlandev, u32 ethconv,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* tack on llc */
|
/* tack on llc */
|
||||||
e_llc =
|
e_llc = skb_push(skb, sizeof(struct wlan_llc));
|
||||||
(struct wlan_llc *)skb_push(skb,
|
|
||||||
sizeof(struct wlan_llc));
|
|
||||||
e_llc->dsap = 0xAA; /* SNAP, see IEEE 802 */
|
e_llc->dsap = 0xAA; /* SNAP, see IEEE 802 */
|
||||||
e_llc->ssap = 0xAA;
|
e_llc->ssap = 0xAA;
|
||||||
e_llc->ctl = 0x03;
|
e_llc->ctl = 0x03;
|
||||||
|
@ -407,7 +403,7 @@ int skb_p80211_to_ether(struct wlandevice *wlandev, u32 ethconv,
|
||||||
skb_pull(skb, payload_offset);
|
skb_pull(skb, payload_offset);
|
||||||
|
|
||||||
/* create 802.3 header at beginning of skb. */
|
/* create 802.3 header at beginning of skb. */
|
||||||
e_hdr = (struct wlan_ethhdr *)skb_push(skb, ETH_HLEN);
|
e_hdr = skb_push(skb, ETH_HLEN);
|
||||||
ether_addr_copy(e_hdr->daddr, daddr);
|
ether_addr_copy(e_hdr->daddr, daddr);
|
||||||
ether_addr_copy(e_hdr->saddr, saddr);
|
ether_addr_copy(e_hdr->saddr, saddr);
|
||||||
e_hdr->type = htons(payload_length);
|
e_hdr->type = htons(payload_length);
|
||||||
|
@ -448,7 +444,7 @@ int skb_p80211_to_ether(struct wlandevice *wlandev, u32 ethconv,
|
||||||
skb_pull(skb, sizeof(struct wlan_snap));
|
skb_pull(skb, sizeof(struct wlan_snap));
|
||||||
|
|
||||||
/* create 802.3 header at beginning of skb. */
|
/* create 802.3 header at beginning of skb. */
|
||||||
e_hdr = (struct wlan_ethhdr *)skb_push(skb, ETH_HLEN);
|
e_hdr = skb_push(skb, ETH_HLEN);
|
||||||
e_hdr->type = e_snap->type;
|
e_hdr->type = e_snap->type;
|
||||||
ether_addr_copy(e_hdr->daddr, daddr);
|
ether_addr_copy(e_hdr->daddr, daddr);
|
||||||
ether_addr_copy(e_hdr->saddr, saddr);
|
ether_addr_copy(e_hdr->saddr, saddr);
|
||||||
|
@ -475,7 +471,7 @@ int skb_p80211_to_ether(struct wlandevice *wlandev, u32 ethconv,
|
||||||
skb_pull(skb, payload_offset);
|
skb_pull(skb, payload_offset);
|
||||||
|
|
||||||
/* create 802.3 header at beginning of skb. */
|
/* create 802.3 header at beginning of skb. */
|
||||||
e_hdr = (struct wlan_ethhdr *)skb_push(skb, ETH_HLEN);
|
e_hdr = skb_push(skb, ETH_HLEN);
|
||||||
ether_addr_copy(e_hdr->daddr, daddr);
|
ether_addr_copy(e_hdr->daddr, daddr);
|
||||||
ether_addr_copy(e_hdr->saddr, saddr);
|
ether_addr_copy(e_hdr->saddr, saddr);
|
||||||
e_hdr->type = htons(payload_length);
|
e_hdr->type = htons(payload_length);
|
||||||
|
|
|
@ -136,7 +136,7 @@ cxgbit_cpl_tx_data_iso(struct sk_buff *skb, struct cxgbit_iso_info *iso_info)
|
||||||
unsigned int fslice = !!(iso_info->flags & CXGBIT_ISO_FSLICE);
|
unsigned int fslice = !!(iso_info->flags & CXGBIT_ISO_FSLICE);
|
||||||
unsigned int lslice = !!(iso_info->flags & CXGBIT_ISO_LSLICE);
|
unsigned int lslice = !!(iso_info->flags & CXGBIT_ISO_LSLICE);
|
||||||
|
|
||||||
cpl = (struct cpl_tx_data_iso *)__skb_push(skb, sizeof(*cpl));
|
cpl = __skb_push(skb, sizeof(*cpl));
|
||||||
|
|
||||||
cpl->op_to_scsi = htonl(CPL_TX_DATA_ISO_OP_V(CPL_TX_DATA_ISO) |
|
cpl->op_to_scsi = htonl(CPL_TX_DATA_ISO_OP_V(CPL_TX_DATA_ISO) |
|
||||||
CPL_TX_DATA_ISO_FIRST_V(fslice) |
|
CPL_TX_DATA_ISO_FIRST_V(fslice) |
|
||||||
|
@ -183,8 +183,7 @@ cxgbit_tx_data_wr(struct cxgbit_sock *csk, struct sk_buff *skb, u32 dlen,
|
||||||
if (cxgbit_is_ofld_imm(skb))
|
if (cxgbit_is_ofld_imm(skb))
|
||||||
immlen += dlen;
|
immlen += dlen;
|
||||||
|
|
||||||
req = (struct fw_ofld_tx_data_wr *)__skb_push(skb,
|
req = __skb_push(skb, hdr_size);
|
||||||
hdr_size);
|
|
||||||
req->op_to_immdlen = cpu_to_be32(FW_WR_OP_V(opcode) |
|
req->op_to_immdlen = cpu_to_be32(FW_WR_OP_V(opcode) |
|
||||||
FW_WR_COMPL_V(compl) |
|
FW_WR_COMPL_V(compl) |
|
||||||
FW_WR_IMMDLEN_V(immlen));
|
FW_WR_IMMDLEN_V(immlen));
|
||||||
|
|
|
@ -999,7 +999,7 @@ void rndis_add_hdr(struct sk_buff *skb)
|
||||||
|
|
||||||
if (!skb)
|
if (!skb)
|
||||||
return;
|
return;
|
||||||
header = (void *)skb_push(skb, sizeof(*header));
|
header = skb_push(skb, sizeof(*header));
|
||||||
memset(header, 0, sizeof *header);
|
memset(header, 0, sizeof *header);
|
||||||
header->MessageType = cpu_to_le32(RNDIS_MSG_PACKET);
|
header->MessageType = cpu_to_le32(RNDIS_MSG_PACKET);
|
||||||
header->MessageLength = cpu_to_le32(skb->len);
|
header->MessageLength = cpu_to_le32(skb->len);
|
||||||
|
|
|
@ -318,7 +318,7 @@ static inline int __vlan_insert_tag(struct sk_buff *skb,
|
||||||
if (skb_cow_head(skb, VLAN_HLEN) < 0)
|
if (skb_cow_head(skb, VLAN_HLEN) < 0)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
veth = (struct vlan_ethhdr *)skb_push(skb, VLAN_HLEN);
|
veth = skb_push(skb, VLAN_HLEN);
|
||||||
|
|
||||||
/* Move the mac addresses to the beginning of the new header. */
|
/* Move the mac addresses to the beginning of the new header. */
|
||||||
memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
|
memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
|
||||||
|
|
|
@ -1923,8 +1923,8 @@ static inline void *skb_put_data(struct sk_buff *skb, const void *data,
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char *skb_push(struct sk_buff *skb, unsigned int len);
|
void *skb_push(struct sk_buff *skb, unsigned int len);
|
||||||
static inline unsigned char *__skb_push(struct sk_buff *skb, unsigned int len)
|
static inline void *__skb_push(struct sk_buff *skb, unsigned int len)
|
||||||
{
|
{
|
||||||
skb->data -= len;
|
skb->data -= len;
|
||||||
skb->len += len;
|
skb->len += len;
|
||||||
|
@ -2951,8 +2951,7 @@ void *skb_pull_rcsum(struct sk_buff *skb, unsigned int len);
|
||||||
* that the checksum difference is zero (e.g., a valid IP header)
|
* that the checksum difference is zero (e.g., a valid IP header)
|
||||||
* or you are setting ip_summed to CHECKSUM_NONE.
|
* or you are setting ip_summed to CHECKSUM_NONE.
|
||||||
*/
|
*/
|
||||||
static inline unsigned char *skb_push_rcsum(struct sk_buff *skb,
|
static inline void *skb_push_rcsum(struct sk_buff *skb, unsigned int len)
|
||||||
unsigned int len)
|
|
||||||
{
|
{
|
||||||
skb_push(skb, len);
|
skb_push(skb, len);
|
||||||
skb_postpush_rcsum(skb, skb->data, len);
|
skb_postpush_rcsum(skb, skb->data, len);
|
||||||
|
|
|
@ -49,7 +49,7 @@ static int fc_header(struct sk_buff *skb, struct net_device *dev,
|
||||||
struct fcllc *fcllc;
|
struct fcllc *fcllc;
|
||||||
|
|
||||||
hdr_len = sizeof(struct fch_hdr) + sizeof(struct fcllc);
|
hdr_len = sizeof(struct fch_hdr) + sizeof(struct fcllc);
|
||||||
fch = (struct fch_hdr *)skb_push(skb, hdr_len);
|
fch = skb_push(skb, hdr_len);
|
||||||
fcllc = (struct fcllc *)(fch+1);
|
fcllc = (struct fcllc *)(fch+1);
|
||||||
fcllc->dsap = fcllc->ssap = EXTENDED_SAP;
|
fcllc->dsap = fcllc->ssap = EXTENDED_SAP;
|
||||||
fcllc->llc = UI_CMD;
|
fcllc->llc = UI_CMD;
|
||||||
|
@ -59,7 +59,7 @@ static int fc_header(struct sk_buff *skb, struct net_device *dev,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hdr_len = sizeof(struct fch_hdr);
|
hdr_len = sizeof(struct fch_hdr);
|
||||||
fch = (struct fch_hdr *)skb_push(skb, hdr_len);
|
fch = skb_push(skb, hdr_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(saddr)
|
if(saddr)
|
||||||
|
|
|
@ -58,7 +58,7 @@ static int fddi_header(struct sk_buff *skb, struct net_device *dev,
|
||||||
|
|
||||||
if(type != ETH_P_IP && type != ETH_P_IPV6 && type != ETH_P_ARP)
|
if(type != ETH_P_IP && type != ETH_P_IPV6 && type != ETH_P_ARP)
|
||||||
hl=FDDI_K_8022_HLEN-3;
|
hl=FDDI_K_8022_HLEN-3;
|
||||||
fddi = (struct fddihdr *)skb_push(skb, hl);
|
fddi = skb_push(skb, hl);
|
||||||
fddi->fc = FDDI_FC_K_ASYNC_LLC_DEF;
|
fddi->fc = FDDI_FC_K_ASYNC_LLC_DEF;
|
||||||
if(type == ETH_P_IP || type == ETH_P_IPV6 || type == ETH_P_ARP)
|
if(type == ETH_P_IP || type == ETH_P_IPV6 || type == ETH_P_ARP)
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,7 +47,7 @@ static int hippi_header(struct sk_buff *skb, struct net_device *dev,
|
||||||
unsigned short type,
|
unsigned short type,
|
||||||
const void *daddr, const void *saddr, unsigned int len)
|
const void *daddr, const void *saddr, unsigned int len)
|
||||||
{
|
{
|
||||||
struct hippi_hdr *hip = (struct hippi_hdr *)skb_push(skb, HIPPI_HLEN);
|
struct hippi_hdr *hip = skb_push(skb, HIPPI_HLEN);
|
||||||
struct hippi_cb *hcb = (struct hippi_cb *) skb->cb;
|
struct hippi_cb *hcb = (struct hippi_cb *) skb->cb;
|
||||||
|
|
||||||
if (!len){
|
if (!len){
|
||||||
|
|
|
@ -58,7 +58,7 @@ static int vlan_dev_hard_header(struct sk_buff *skb, struct net_device *dev,
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (!(vlan->flags & VLAN_FLAG_REORDER_HDR)) {
|
if (!(vlan->flags & VLAN_FLAG_REORDER_HDR)) {
|
||||||
vhdr = (struct vlan_hdr *) skb_push(skb, VLAN_HLEN);
|
vhdr = skb_push(skb, VLAN_HLEN);
|
||||||
|
|
||||||
vlan_tci = vlan->vlan_id;
|
vlan_tci = vlan->vlan_id;
|
||||||
vlan_tci |= vlan_dev_get_egress_qos_mask(dev, skb->priority);
|
vlan_tci |= vlan_dev_get_egress_qos_mask(dev, skb->priority);
|
||||||
|
|
|
@ -1529,7 +1529,7 @@ static int ltalk_rcv(struct sk_buff *skb, struct net_device *dev,
|
||||||
* The push leaves us with a ddephdr not an shdr, and
|
* The push leaves us with a ddephdr not an shdr, and
|
||||||
* handily the port bytes in the right place preset.
|
* handily the port bytes in the right place preset.
|
||||||
*/
|
*/
|
||||||
ddp = (struct ddpehdr *) skb_push(skb, sizeof(*ddp) - 4);
|
ddp = skb_push(skb, sizeof(*ddp) - 4);
|
||||||
|
|
||||||
/* Now fill in the long header */
|
/* Now fill in the long header */
|
||||||
|
|
||||||
|
|
|
@ -1562,7 +1562,7 @@ static int ax25_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
|
||||||
|
|
||||||
/* Add the PID if one is not supplied by the user in the skb */
|
/* Add the PID if one is not supplied by the user in the skb */
|
||||||
if (!ax25->pidincl)
|
if (!ax25->pidincl)
|
||||||
*skb_push(skb, 1) = sk->sk_protocol;
|
*(u8 *)skb_push(skb, 1) = sk->sk_protocol;
|
||||||
|
|
||||||
if (sk->sk_type == SOCK_SEQPACKET) {
|
if (sk->sk_type == SOCK_SEQPACKET) {
|
||||||
/* Connected mode sockets go via the LAPB machine */
|
/* Connected mode sockets go via the LAPB machine */
|
||||||
|
|
|
@ -332,7 +332,7 @@ void hci_send_to_monitor(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Put header before the data */
|
/* Put header before the data */
|
||||||
hdr = (void *)skb_push(skb_copy, HCI_MON_HDR_SIZE);
|
hdr = skb_push(skb_copy, HCI_MON_HDR_SIZE);
|
||||||
hdr->opcode = opcode;
|
hdr->opcode = opcode;
|
||||||
hdr->index = cpu_to_le16(hdev->id);
|
hdr->index = cpu_to_le16(hdev->id);
|
||||||
hdr->len = cpu_to_le16(skb->len);
|
hdr->len = cpu_to_le16(skb->len);
|
||||||
|
@ -383,7 +383,7 @@ void hci_send_monitor_ctrl_event(struct hci_dev *hdev, u16 event,
|
||||||
|
|
||||||
skb->tstamp = tstamp;
|
skb->tstamp = tstamp;
|
||||||
|
|
||||||
hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE);
|
hdr = skb_push(skb, HCI_MON_HDR_SIZE);
|
||||||
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_EVENT);
|
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_EVENT);
|
||||||
hdr->index = index;
|
hdr->index = index;
|
||||||
hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
|
hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
|
||||||
|
@ -467,7 +467,7 @@ static struct sk_buff *create_monitor_event(struct hci_dev *hdev, int event)
|
||||||
|
|
||||||
__net_timestamp(skb);
|
__net_timestamp(skb);
|
||||||
|
|
||||||
hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE);
|
hdr = skb_push(skb, HCI_MON_HDR_SIZE);
|
||||||
hdr->opcode = opcode;
|
hdr->opcode = opcode;
|
||||||
hdr->index = cpu_to_le16(hdev->id);
|
hdr->index = cpu_to_le16(hdev->id);
|
||||||
hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
|
hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
|
||||||
|
@ -522,7 +522,7 @@ static struct sk_buff *create_monitor_ctrl_open(struct sock *sk)
|
||||||
|
|
||||||
__net_timestamp(skb);
|
__net_timestamp(skb);
|
||||||
|
|
||||||
hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE);
|
hdr = skb_push(skb, HCI_MON_HDR_SIZE);
|
||||||
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_OPEN);
|
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_OPEN);
|
||||||
if (hci_pi(sk)->hdev)
|
if (hci_pi(sk)->hdev)
|
||||||
hdr->index = cpu_to_le16(hci_pi(sk)->hdev->id);
|
hdr->index = cpu_to_le16(hci_pi(sk)->hdev->id);
|
||||||
|
@ -560,7 +560,7 @@ static struct sk_buff *create_monitor_ctrl_close(struct sock *sk)
|
||||||
|
|
||||||
__net_timestamp(skb);
|
__net_timestamp(skb);
|
||||||
|
|
||||||
hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE);
|
hdr = skb_push(skb, HCI_MON_HDR_SIZE);
|
||||||
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_CLOSE);
|
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_CLOSE);
|
||||||
if (hci_pi(sk)->hdev)
|
if (hci_pi(sk)->hdev)
|
||||||
hdr->index = cpu_to_le16(hci_pi(sk)->hdev->id);
|
hdr->index = cpu_to_le16(hci_pi(sk)->hdev->id);
|
||||||
|
@ -590,7 +590,7 @@ static struct sk_buff *create_monitor_ctrl_command(struct sock *sk, u16 index,
|
||||||
|
|
||||||
__net_timestamp(skb);
|
__net_timestamp(skb);
|
||||||
|
|
||||||
hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE);
|
hdr = skb_push(skb, HCI_MON_HDR_SIZE);
|
||||||
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_COMMAND);
|
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_COMMAND);
|
||||||
hdr->index = cpu_to_le16(index);
|
hdr->index = cpu_to_le16(index);
|
||||||
hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
|
hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
|
||||||
|
|
|
@ -48,7 +48,7 @@ static struct sk_buff *create_monitor_ctrl_event(__le16 index, u32 cookie,
|
||||||
|
|
||||||
__net_timestamp(skb);
|
__net_timestamp(skb);
|
||||||
|
|
||||||
hdr = (void *)skb_push(skb, HCI_MON_HDR_SIZE);
|
hdr = skb_push(skb, HCI_MON_HDR_SIZE);
|
||||||
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_EVENT);
|
hdr->opcode = cpu_to_le16(HCI_MON_CTRL_EVENT);
|
||||||
hdr->index = index;
|
hdr->index = index;
|
||||||
hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
|
hdr->len = cpu_to_le16(skb->len - HCI_MON_HDR_SIZE);
|
||||||
|
|
|
@ -1149,10 +1149,10 @@ static void rfcomm_make_uih(struct sk_buff *skb, u8 addr)
|
||||||
u8 *crc;
|
u8 *crc;
|
||||||
|
|
||||||
if (len > 127) {
|
if (len > 127) {
|
||||||
hdr = (void *) skb_push(skb, 4);
|
hdr = skb_push(skb, 4);
|
||||||
put_unaligned(cpu_to_le16(__len16(len)), (__le16 *) &hdr->len);
|
put_unaligned(cpu_to_le16(__len16(len)), (__le16 *) &hdr->len);
|
||||||
} else {
|
} else {
|
||||||
hdr = (void *) skb_push(skb, 3);
|
hdr = skb_push(skb, 3);
|
||||||
hdr->len = __len8(len);
|
hdr->len = __len8(len);
|
||||||
}
|
}
|
||||||
hdr->addr = addr;
|
hdr->addr = addr;
|
||||||
|
|
|
@ -28,7 +28,7 @@ static void nft_reject_br_push_etherhdr(struct sk_buff *oldskb,
|
||||||
{
|
{
|
||||||
struct ethhdr *eth;
|
struct ethhdr *eth;
|
||||||
|
|
||||||
eth = (struct ethhdr *)skb_push(nskb, ETH_HLEN);
|
eth = skb_push(nskb, ETH_HLEN);
|
||||||
skb_reset_mac_header(nskb);
|
skb_reset_mac_header(nskb);
|
||||||
ether_addr_copy(eth->h_source, eth_hdr(oldskb)->h_dest);
|
ether_addr_copy(eth->h_source, eth_hdr(oldskb)->h_dest);
|
||||||
ether_addr_copy(eth->h_dest, eth_hdr(oldskb)->h_source);
|
ether_addr_copy(eth->h_dest, eth_hdr(oldskb)->h_source);
|
||||||
|
|
|
@ -441,7 +441,7 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
|
||||||
ip6h->saddr = np->local_ip.in6;
|
ip6h->saddr = np->local_ip.in6;
|
||||||
ip6h->daddr = np->remote_ip.in6;
|
ip6h->daddr = np->remote_ip.in6;
|
||||||
|
|
||||||
eth = (struct ethhdr *) skb_push(skb, ETH_HLEN);
|
eth = skb_push(skb, ETH_HLEN);
|
||||||
skb_reset_mac_header(skb);
|
skb_reset_mac_header(skb);
|
||||||
skb->protocol = eth->h_proto = htons(ETH_P_IPV6);
|
skb->protocol = eth->h_proto = htons(ETH_P_IPV6);
|
||||||
} else {
|
} else {
|
||||||
|
@ -470,7 +470,7 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
|
||||||
put_unaligned(np->remote_ip.ip, &(iph->daddr));
|
put_unaligned(np->remote_ip.ip, &(iph->daddr));
|
||||||
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
|
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
|
||||||
|
|
||||||
eth = (struct ethhdr *) skb_push(skb, ETH_HLEN);
|
eth = skb_push(skb, ETH_HLEN);
|
||||||
skb_reset_mac_header(skb);
|
skb_reset_mac_header(skb);
|
||||||
skb->protocol = eth->h_proto = htons(ETH_P_IP);
|
skb->protocol = eth->h_proto = htons(ETH_P_IP);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2675,7 +2675,7 @@ static int process_ipsec(struct pktgen_dev *pkt_dev,
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
/* restore ll */
|
/* restore ll */
|
||||||
eth = (struct ethhdr *)skb_push(skb, ETH_HLEN);
|
eth = skb_push(skb, ETH_HLEN);
|
||||||
memcpy(eth, pkt_dev->hh, 2 * ETH_ALEN);
|
memcpy(eth, pkt_dev->hh, 2 * ETH_ALEN);
|
||||||
eth->h_proto = protocol;
|
eth->h_proto = protocol;
|
||||||
|
|
||||||
|
@ -2844,7 +2844,7 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
|
||||||
skb_reserve(skb, 16);
|
skb_reserve(skb, 16);
|
||||||
|
|
||||||
/* Reserve for ethernet and IP header */
|
/* Reserve for ethernet and IP header */
|
||||||
eth = (__u8 *) skb_push(skb, 14);
|
eth = skb_push(skb, 14);
|
||||||
mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32));
|
mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32));
|
||||||
if (pkt_dev->nr_labels)
|
if (pkt_dev->nr_labels)
|
||||||
mpls_push(mpls, pkt_dev);
|
mpls_push(mpls, pkt_dev);
|
||||||
|
@ -2972,7 +2972,7 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
|
||||||
skb_reserve(skb, 16);
|
skb_reserve(skb, 16);
|
||||||
|
|
||||||
/* Reserve for ethernet and IP header */
|
/* Reserve for ethernet and IP header */
|
||||||
eth = (__u8 *) skb_push(skb, 14);
|
eth = skb_push(skb, 14);
|
||||||
mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32));
|
mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32));
|
||||||
if (pkt_dev->nr_labels)
|
if (pkt_dev->nr_labels)
|
||||||
mpls_push(mpls, pkt_dev);
|
mpls_push(mpls, pkt_dev);
|
||||||
|
|
|
@ -1461,7 +1461,7 @@ EXPORT_SYMBOL(skb_put);
|
||||||
* start. If this would exceed the total buffer headroom the kernel will
|
* start. If this would exceed the total buffer headroom the kernel will
|
||||||
* panic. A pointer to the first byte of the extra data is returned.
|
* panic. A pointer to the first byte of the extra data is returned.
|
||||||
*/
|
*/
|
||||||
unsigned char *skb_push(struct sk_buff *skb, unsigned int len)
|
void *skb_push(struct sk_buff *skb, unsigned int len)
|
||||||
{
|
{
|
||||||
skb->data -= len;
|
skb->data -= len;
|
||||||
skb->len += len;
|
skb->len += len;
|
||||||
|
|
|
@ -484,7 +484,7 @@ int dccp_insert_option_mandatory(struct sk_buff *skb)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
DCCP_SKB_CB(skb)->dccpd_opt_len++;
|
DCCP_SKB_CB(skb)->dccpd_opt_len++;
|
||||||
*skb_push(skb, 1) = DCCPO_MANDATORY;
|
*(u8 *)skb_push(skb, 1) = DCCPO_MANDATORY;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -867,7 +867,7 @@ static void dn_send_endnode_hello(struct net_device *dev, struct dn_ifaddr *ifa)
|
||||||
msg->datalen = 0x02;
|
msg->datalen = 0x02;
|
||||||
memset(msg->data, 0xAA, 2);
|
memset(msg->data, 0xAA, 2);
|
||||||
|
|
||||||
pktlen = (__le16 *)skb_push(skb,2);
|
pktlen = skb_push(skb, 2);
|
||||||
*pktlen = cpu_to_le16(skb->len - 2);
|
*pktlen = cpu_to_le16(skb->len - 2);
|
||||||
|
|
||||||
skb_reset_network_header(skb);
|
skb_reset_network_header(skb);
|
||||||
|
@ -959,7 +959,7 @@ static void dn_send_router_hello(struct net_device *dev, struct dn_ifaddr *ifa)
|
||||||
|
|
||||||
skb_trim(skb, (27 + *i2));
|
skb_trim(skb, (27 + *i2));
|
||||||
|
|
||||||
pktlen = (__le16 *)skb_push(skb, 2);
|
pktlen = skb_push(skb, 2);
|
||||||
*pktlen = cpu_to_le16(skb->len - 2);
|
*pktlen = cpu_to_le16(skb->len - 2);
|
||||||
|
|
||||||
skb_reset_network_header(skb);
|
skb_reset_network_header(skb);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue