networking: introduce and use skb_put_data()

A common pattern with skb_put() is to just want to memcpy()
some data into the new space, introduce skb_put_data() for
this.

An spatch similar to the one for skb_put_zero() converts many
of the places using it:

    @@
    identifier p, p2;
    expression len, skb, data;
    type t, t2;
    @@
    (
    -p = skb_put(skb, len);
    +p = skb_put_data(skb, data, len);
    |
    -p = (t)skb_put(skb, len);
    +p = skb_put_data(skb, data, len);
    )
    (
    p2 = (t2)p;
    -memcpy(p2, data, len);
    |
    -memcpy(p, data, len);
    )

    @@
    type t, t2;
    identifier p, p2;
    expression skb, data;
    @@
    t *p;
    ...
    (
    -p = skb_put(skb, sizeof(t));
    +p = skb_put_data(skb, data, sizeof(t));
    |
    -p = (t *)skb_put(skb, sizeof(t));
    +p = skb_put_data(skb, data, sizeof(t));
    )
    (
    p2 = (t2)p;
    -memcpy(p2, data, sizeof(*p));
    |
    -memcpy(p, data, sizeof(*p));
    )

    @@
    expression skb, len, data;
    @@
    -memcpy(skb_put(skb, len), data, len);
    +skb_put_data(skb, data, len);

(again, manually post-processed to retain some comments)

Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Johannes Berg 2017-06-16 14:29:20 +02:00 committed by David S. Miller
parent b080db5853
commit 59ae1d127a
252 changed files with 622 additions and 741 deletions

View File

@ -1104,7 +1104,7 @@ fore200e_push_rpd(struct fore200e* fore200e, struct atm_vcc* vcc, struct rpd* rp
/* Make device DMA transfer visible to CPU. */ /* Make device DMA transfer visible to CPU. */
fore200e->bus->dma_sync_for_cpu(fore200e, buffer->data.dma_addr, rpd->rsd[ i ].length, DMA_FROM_DEVICE); fore200e->bus->dma_sync_for_cpu(fore200e, buffer->data.dma_addr, rpd->rsd[ i ].length, DMA_FROM_DEVICE);
memcpy(skb_put(skb, rpd->rsd[ i ].length), buffer->data.align_addr, rpd->rsd[ i ].length); skb_put_data(skb, buffer->data.align_addr, rpd->rsd[i].length);
/* Now let the device get at it again. */ /* Now let the device get at it again. */
fore200e->bus->dma_sync_for_device(fore200e, buffer->data.dma_addr, rpd->rsd[ i ].length, DMA_FROM_DEVICE); fore200e->bus->dma_sync_for_device(fore200e, buffer->data.dma_addr, rpd->rsd[ i ].length, DMA_FROM_DEVICE);

View File

@ -1735,7 +1735,7 @@ he_service_rbrq(struct he_dev *he_dev, int group)
__net_timestamp(skb); __net_timestamp(skb);
list_for_each_entry(heb, &he_vcc->buffers, entry) list_for_each_entry(heb, &he_vcc->buffers, entry)
memcpy(skb_put(skb, heb->len), &heb->data, heb->len); skb_put_data(skb, &heb->data, heb->len);
switch (vcc->qos.aal) { switch (vcc->qos.aal) {
case ATM_AAL0: case ATM_AAL0:

View File

@ -1090,8 +1090,7 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
*((u32 *) sb->data) = aal0; *((u32 *) sb->data) = aal0;
skb_put(sb, sizeof(u32)); skb_put(sb, sizeof(u32));
memcpy(skb_put(sb, ATM_CELL_PAYLOAD), skb_put_data(sb, cell, ATM_CELL_PAYLOAD);
cell, ATM_CELL_PAYLOAD);
ATM_SKB(sb)->vcc = vcc; ATM_SKB(sb)->vcc = vcc;
__net_timestamp(sb); __net_timestamp(sb);
@ -1159,8 +1158,7 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
return; return;
} }
skb_queue_walk(&rpp->queue, sb) skb_queue_walk(&rpp->queue, sb)
memcpy(skb_put(skb, sb->len), skb_put_data(skb, sb->data, sb->len);
sb->data, sb->len);
recycle_rx_pool_skb(card, rpp); recycle_rx_pool_skb(card, rpp);
@ -1322,8 +1320,7 @@ idt77252_rx_raw(struct idt77252_dev *card)
*((u32 *) sb->data) = header; *((u32 *) sb->data) = header;
skb_put(sb, sizeof(u32)); skb_put(sb, sizeof(u32));
memcpy(skb_put(sb, ATM_CELL_PAYLOAD), &(queue->data[16]), skb_put_data(sb, &(queue->data[16]), ATM_CELL_PAYLOAD);
ATM_CELL_PAYLOAD);
ATM_SKB(sb)->vcc = vcc; ATM_SKB(sb)->vcc = vcc;
__net_timestamp(sb); __net_timestamp(sb);
@ -2014,7 +2011,7 @@ idt77252_send_oam(struct atm_vcc *vcc, void *cell, int flags)
} }
atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
memcpy(skb_put(skb, 52), cell, 52); skb_put_data(skb, cell, 52);
return idt77252_send_skb(vcc, skb, 1); return idt77252_send_skb(vcc, skb, 1);
} }

View File

@ -493,7 +493,7 @@ static int send_command(struct solos_card *card, int dev, const char *buf, size_
header->vci = cpu_to_le16(0); header->vci = cpu_to_le16(0);
header->type = cpu_to_le16(PKT_COMMAND); header->type = cpu_to_le16(PKT_COMMAND);
memcpy(skb_put(skb, size), buf, size); skb_put_data(skb, buf, size);
fpga_queue(card, dev, skb, NULL); fpga_queue(card, dev, skb, NULL);

View File

@ -335,7 +335,7 @@ static inline int bfusb_recv_block(struct bfusb_data *data, int hdr, unsigned ch
} }
if (len > 0) if (len > 0)
memcpy(skb_put(data->reassembly, len), buf, len); skb_put_data(data->reassembly, buf, len);
if (hdr & 0x08) { if (hdr & 0x08) {
hci_recv_frame(data->hdev, data->reassembly); hci_recv_frame(data->hdev, data->reassembly);
@ -505,7 +505,7 @@ static int bfusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
buf[1] = 0x00; buf[1] = 0x00;
buf[2] = (size == BFUSB_MAX_BLOCK_SIZE) ? 0 : size; buf[2] = (size == BFUSB_MAX_BLOCK_SIZE) ? 0 : size;
memcpy(skb_put(nskb, 3), buf, 3); skb_put_data(nskb, buf, 3);
skb_copy_from_linear_data_offset(skb, sent, skb_put(nskb, size), size); skb_copy_from_linear_data_offset(skb, sent, skb_put(nskb, size), size);
sent += size; sent += size;
@ -516,7 +516,7 @@ static int bfusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
if ((nskb->len % data->bulk_pkt_size) == 0) { if ((nskb->len % data->bulk_pkt_size) == 0) {
buf[0] = 0xdd; buf[0] = 0xdd;
buf[1] = 0x00; buf[1] = 0x00;
memcpy(skb_put(nskb, 2), buf, 2); skb_put_data(nskb, buf, 2);
} }
read_lock(&data->lock); read_lock(&data->lock);

View File

@ -597,7 +597,7 @@ static int bluecard_hci_set_baud_rate(struct hci_dev *hdev, int baud)
break; break;
} }
memcpy(skb_put(skb, sizeof(cmd)), cmd, sizeof(cmd)); skb_put_data(skb, cmd, sizeof(cmd));
skb_queue_tail(&(info->txq), skb); skb_queue_tail(&(info->txq), skb);

View File

@ -194,7 +194,7 @@ static int btmrvl_send_sync_cmd(struct btmrvl_private *priv, u16 opcode,
hdr->plen = len; hdr->plen = len;
if (len) if (len)
memcpy(skb_put(skb, len), param, len); skb_put_data(skb, param, len);
hci_skb_pkt_type(skb) = MRVL_VENDOR_PKT; hci_skb_pkt_type(skb) = MRVL_VENDOR_PKT;

View File

@ -43,7 +43,7 @@ static int btqcomsmd_recv(struct hci_dev *hdev, unsigned int type,
} }
hci_skb_pkt_type(skb) = type; hci_skb_pkt_type(skb) = type;
memcpy(skb_put(skb, count), data, count); skb_put_data(skb, data, count);
return hci_recv_frame(hdev, skb); return hci_recv_frame(hdev, skb);
} }

View File

@ -478,7 +478,7 @@ static int btusb_recv_intr(struct btusb_data *data, void *buffer, int count)
} }
len = min_t(uint, hci_skb_expect(skb), count); len = min_t(uint, hci_skb_expect(skb), count);
memcpy(skb_put(skb, len), buffer, len); skb_put_data(skb, buffer, len);
count -= len; count -= len;
buffer += len; buffer += len;
@ -533,7 +533,7 @@ static int btusb_recv_bulk(struct btusb_data *data, void *buffer, int count)
} }
len = min_t(uint, hci_skb_expect(skb), count); len = min_t(uint, hci_skb_expect(skb), count);
memcpy(skb_put(skb, len), buffer, len); skb_put_data(skb, buffer, len);
count -= len; count -= len;
buffer += len; buffer += len;
@ -590,7 +590,7 @@ static int btusb_recv_isoc(struct btusb_data *data, void *buffer, int count)
} }
len = min_t(uint, hci_skb_expect(skb), count); len = min_t(uint, hci_skb_expect(skb), count);
memcpy(skb_put(skb, len), buffer, len); skb_put_data(skb, buffer, len);
count -= len; count -= len;
buffer += len; buffer += len;
@ -934,8 +934,8 @@ static void btusb_diag_complete(struct urb *urb)
skb = bt_skb_alloc(urb->actual_length, GFP_ATOMIC); skb = bt_skb_alloc(urb->actual_length, GFP_ATOMIC);
if (skb) { if (skb) {
memcpy(skb_put(skb, urb->actual_length), skb_put_data(skb, urb->transfer_buffer,
urb->transfer_buffer, urb->actual_length); urb->actual_length);
hci_recv_diag(hdev, skb); hci_recv_diag(hdev, skb);
} }
} else if (urb->status == -ENOENT) { } else if (urb->status == -ENOENT) {
@ -2395,7 +2395,7 @@ static int marvell_config_oob_wake(struct hci_dev *hdev)
return -ENOMEM; return -ENOMEM;
} }
memcpy(skb_put(skb, sizeof(cmd)), cmd, sizeof(cmd)); skb_put_data(skb, cmd, sizeof(cmd));
hci_skb_pkt_type(skb) = HCI_COMMAND_PKT; hci_skb_pkt_type(skb) = HCI_COMMAND_PKT;
ret = btusb_send_frame(hdev, skb); ret = btusb_send_frame(hdev, skb);

View File

@ -125,7 +125,7 @@ static void bcsp_slip_msgdelim(struct sk_buff *skb)
{ {
const char pkt_delim = 0xc0; const char pkt_delim = 0xc0;
memcpy(skb_put(skb, 1), &pkt_delim, 1); skb_put_data(skb, &pkt_delim, 1);
} }
static void bcsp_slip_one_byte(struct sk_buff *skb, u8 c) static void bcsp_slip_one_byte(struct sk_buff *skb, u8 c)
@ -135,13 +135,13 @@ static void bcsp_slip_one_byte(struct sk_buff *skb, u8 c)
switch (c) { switch (c) {
case 0xc0: case 0xc0:
memcpy(skb_put(skb, 2), &esc_c0, 2); skb_put_data(skb, &esc_c0, 2);
break; break;
case 0xdb: case 0xdb:
memcpy(skb_put(skb, 2), &esc_db, 2); skb_put_data(skb, &esc_db, 2);
break; break;
default: default:
memcpy(skb_put(skb, 1), &c, 1); skb_put_data(skb, &c, 1);
} }
} }
@ -423,7 +423,7 @@ static void bcsp_handle_le_pkt(struct hci_uart *hu)
BT_DBG("Found a LE conf pkt"); BT_DBG("Found a LE conf pkt");
if (!nskb) if (!nskb)
return; return;
memcpy(skb_put(nskb, 4), conf_rsp_pkt, 4); skb_put_data(nskb, conf_rsp_pkt, 4);
hci_skb_pkt_type(nskb) = BCSP_LE_PKT; hci_skb_pkt_type(nskb) = BCSP_LE_PKT;
skb_queue_head(&bcsp->unrel, nskb); skb_queue_head(&bcsp->unrel, nskb);
@ -447,7 +447,7 @@ static inline void bcsp_unslip_one_byte(struct bcsp_struct *bcsp, unsigned char
bcsp->rx_esc_state = BCSP_ESCSTATE_ESC; bcsp->rx_esc_state = BCSP_ESCSTATE_ESC;
break; break;
default: default:
memcpy(skb_put(bcsp->rx_skb, 1), &byte, 1); skb_put_data(bcsp->rx_skb, &byte, 1);
if ((bcsp->rx_skb->data[0] & 0x40) != 0 && if ((bcsp->rx_skb->data[0] & 0x40) != 0 &&
bcsp->rx_state != BCSP_W4_CRC) bcsp->rx_state != BCSP_W4_CRC)
bcsp_crc_update(&bcsp->message_crc, byte); bcsp_crc_update(&bcsp->message_crc, byte);
@ -458,7 +458,7 @@ static inline void bcsp_unslip_one_byte(struct bcsp_struct *bcsp, unsigned char
case BCSP_ESCSTATE_ESC: case BCSP_ESCSTATE_ESC:
switch (byte) { switch (byte) {
case 0xdc: case 0xdc:
memcpy(skb_put(bcsp->rx_skb, 1), &c0, 1); skb_put_data(bcsp->rx_skb, &c0, 1);
if ((bcsp->rx_skb->data[0] & 0x40) != 0 && if ((bcsp->rx_skb->data[0] & 0x40) != 0 &&
bcsp->rx_state != BCSP_W4_CRC) bcsp->rx_state != BCSP_W4_CRC)
bcsp_crc_update(&bcsp->message_crc, 0xc0); bcsp_crc_update(&bcsp->message_crc, 0xc0);
@ -467,7 +467,7 @@ static inline void bcsp_unslip_one_byte(struct bcsp_struct *bcsp, unsigned char
break; break;
case 0xdd: case 0xdd:
memcpy(skb_put(bcsp->rx_skb, 1), &db, 1); skb_put_data(bcsp->rx_skb, &db, 1);
if ((bcsp->rx_skb->data[0] & 0x40) != 0 && if ((bcsp->rx_skb->data[0] & 0x40) != 0 &&
bcsp->rx_state != BCSP_W4_CRC) bcsp->rx_state != BCSP_W4_CRC)
bcsp_crc_update(&bcsp->message_crc, 0xdb); bcsp_crc_update(&bcsp->message_crc, 0xdb);

View File

@ -209,7 +209,7 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb,
} }
len = min_t(uint, hci_skb_expect(skb) - skb->len, count); len = min_t(uint, hci_skb_expect(skb) - skb->len, count);
memcpy(skb_put(skb, len), buffer, len); skb_put_data(skb, buffer, len);
count -= len; count -= len;
buffer += len; buffer += len;

View File

@ -109,7 +109,7 @@ static void h5_link_control(struct hci_uart *hu, const void *data, size_t len)
hci_skb_pkt_type(nskb) = HCI_3WIRE_LINK_PKT; hci_skb_pkt_type(nskb) = HCI_3WIRE_LINK_PKT;
memcpy(skb_put(nskb, len), data, len); skb_put_data(nskb, data, len);
skb_queue_tail(&h5->unrel, nskb); skb_queue_tail(&h5->unrel, nskb);
} }
@ -487,7 +487,7 @@ static void h5_unslip_one_byte(struct h5 *h5, unsigned char c)
} }
} }
memcpy(skb_put(h5->rx_skb, 1), byte, 1); skb_put_data(h5->rx_skb, byte, 1);
h5->rx_pending--; h5->rx_pending--;
BT_DBG("unsliped 0x%02hhx, rx_pending %zu", *byte, h5->rx_pending); BT_DBG("unsliped 0x%02hhx, rx_pending %zu", *byte, h5->rx_pending);
@ -579,7 +579,7 @@ static void h5_slip_delim(struct sk_buff *skb)
{ {
const char delim = SLIP_DELIMITER; const char delim = SLIP_DELIMITER;
memcpy(skb_put(skb, 1), &delim, 1); skb_put_data(skb, &delim, 1);
} }
static void h5_slip_one_byte(struct sk_buff *skb, u8 c) static void h5_slip_one_byte(struct sk_buff *skb, u8 c)
@ -589,13 +589,13 @@ static void h5_slip_one_byte(struct sk_buff *skb, u8 c)
switch (c) { switch (c) {
case SLIP_DELIMITER: case SLIP_DELIMITER:
memcpy(skb_put(skb, 2), &esc_delim, 2); skb_put_data(skb, &esc_delim, 2);
break; break;
case SLIP_ESC: case SLIP_ESC:
memcpy(skb_put(skb, 2), &esc_esc, 2); skb_put_data(skb, &esc_esc, 2);
break; break;
default: default:
memcpy(skb_put(skb, 1), &c, 1); skb_put_data(skb, &c, 1);
} }
} }

View File

@ -185,7 +185,7 @@ static int intel_lpm_suspend(struct hci_uart *hu)
return -ENOMEM; return -ENOMEM;
} }
memcpy(skb_put(skb, sizeof(suspend)), suspend, sizeof(suspend)); skb_put_data(skb, suspend, sizeof(suspend));
hci_skb_pkt_type(skb) = HCI_LPM_PKT; hci_skb_pkt_type(skb) = HCI_LPM_PKT;
set_bit(STATE_LPM_TRANSACTION, &intel->flags); set_bit(STATE_LPM_TRANSACTION, &intel->flags);
@ -270,8 +270,7 @@ static int intel_lpm_host_wake(struct hci_uart *hu)
return -ENOMEM; return -ENOMEM;
} }
memcpy(skb_put(skb, sizeof(lpm_resume_ack)), lpm_resume_ack, skb_put_data(skb, lpm_resume_ack, sizeof(lpm_resume_ack));
sizeof(lpm_resume_ack));
hci_skb_pkt_type(skb) = HCI_LPM_PKT; hci_skb_pkt_type(skb) = HCI_LPM_PKT;
/* LPM flow is a priority, enqueue packet at list head */ /* LPM flow is a priority, enqueue packet at list head */
@ -522,7 +521,7 @@ static int intel_set_baudrate(struct hci_uart *hu, unsigned int speed)
return -ENOMEM; return -ENOMEM;
} }
memcpy(skb_put(skb, sizeof(speed_cmd)), speed_cmd, sizeof(speed_cmd)); skb_put_data(skb, speed_cmd, sizeof(speed_cmd));
hci_skb_pkt_type(skb) = HCI_COMMAND_PKT; hci_skb_pkt_type(skb) = HCI_COMMAND_PKT;
hci_uart_set_flow_control(hu, true); hci_uart_set_flow_control(hu, true);

View File

@ -413,7 +413,7 @@ static int ll_recv(struct hci_uart *hu, const void *data, int count)
while (count) { while (count) {
if (ll->rx_count) { if (ll->rx_count) {
len = min_t(unsigned int, ll->rx_count, count); len = min_t(unsigned int, ll->rx_count, count);
memcpy(skb_put(ll->rx_skb, len), ptr, len); skb_put_data(ll->rx_skb, ptr, len);
ll->rx_count -= len; count -= len; ptr += len; ll->rx_count -= len; count -= len; ptr += len;
if (ll->rx_count) if (ll->rx_count)

View File

@ -328,7 +328,7 @@ static int mrvl_load_firmware(struct hci_dev *hdev, const char *name)
} }
bt_cb(skb)->pkt_type = MRVL_RAW_DATA; bt_cb(skb)->pkt_type = MRVL_RAW_DATA;
memcpy(skb_put(skb, mrvl->tx_len), fw_ptr, mrvl->tx_len); skb_put_data(skb, fw_ptr, mrvl->tx_len);
fw_ptr += mrvl->tx_len; fw_ptr += mrvl->tx_len;
set_bit(STATE_FW_REQ_PENDING, &mrvl->flags); set_bit(STATE_FW_REQ_PENDING, &mrvl->flags);

View File

@ -869,7 +869,7 @@ static int qca_set_baudrate(struct hci_dev *hdev, uint8_t baudrate)
} }
/* Assign commands to change baudrate and packet type. */ /* Assign commands to change baudrate and packet type. */
memcpy(skb_put(skb, sizeof(cmd)), cmd, sizeof(cmd)); skb_put_data(skb, cmd, sizeof(cmd));
hci_skb_pkt_type(skb) = HCI_COMMAND_PKT; hci_skb_pkt_type(skb) = HCI_COMMAND_PKT;
skb_queue_tail(&qca->txq, skb); skb_queue_tail(&qca->txq, skb);

View File

@ -4235,7 +4235,7 @@ static void hdlcdev_rx(MGSLPC_INFO *info, char *buf, int size)
return; return;
} }
memcpy(skb_put(skb, size), buf, size); skb_put_data(skb, buf, size);
skb->protocol = hdlc_type_trans(skb, dev); skb->protocol = hdlc_type_trans(skb, dev);

View File

@ -600,7 +600,7 @@ static int fwnet_incoming_packet(struct fwnet_device *dev, __be32 *buf, int len,
return -ENOMEM; return -ENOMEM;
} }
skb_reserve(skb, LL_RESERVED_SPACE(net)); skb_reserve(skb, LL_RESERVED_SPACE(net));
memcpy(skb_put(skb, len), buf, len); skb_put_data(skb, buf, len);
return fwnet_finish_incoming_packet(net, skb, source_node_id, return fwnet_finish_incoming_packet(net, skb, source_node_id,
is_broadcast, ether_type); is_broadcast, ether_type);

View File

@ -1058,7 +1058,7 @@ static int capinc_tty_write(struct tty_struct *tty,
} }
skb_reserve(skb, CAPI_DATA_B3_REQ_LEN); skb_reserve(skb, CAPI_DATA_B3_REQ_LEN);
memcpy(skb_put(skb, count), buf, count); skb_put_data(skb, buf, count);
__skb_queue_tail(&mp->outqueue, skb); __skb_queue_tail(&mp->outqueue, skb);
mp->outbytes += skb->len; mp->outbytes += skb->len;

View File

@ -516,7 +516,7 @@ static void send_message(capidrv_contr *card, _cmsg *cmsg)
printk(KERN_ERR "capidrv::send_message: can't allocate mem\n"); printk(KERN_ERR "capidrv::send_message: can't allocate mem\n");
return; return;
} }
memcpy(skb_put(skb, len), cmsg->buf, len); skb_put_data(skb, cmsg->buf, len);
if (capi20_put_message(&global.ap, skb) != CAPI_NOERROR) if (capi20_put_message(&global.ap, skb) != CAPI_NOERROR)
kfree_skb(skb); kfree_skb(skb);
} }

View File

@ -529,8 +529,8 @@ irqreturn_t b1_interrupt(int interrupt, void *devptr)
printk(KERN_ERR "%s: incoming packet dropped\n", printk(KERN_ERR "%s: incoming packet dropped\n",
card->name); card->name);
} else { } else {
memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); skb_put_data(skb, card->msgbuf, MsgLen);
memcpy(skb_put(skb, DataB3Len), card->databuf, DataB3Len); skb_put_data(skb, card->databuf, DataB3Len);
capi_ctr_handle_message(ctrl, ApplId, skb); capi_ctr_handle_message(ctrl, ApplId, skb);
} }
break; break;
@ -544,7 +544,7 @@ irqreturn_t b1_interrupt(int interrupt, void *devptr)
card->name); card->name);
spin_unlock_irqrestore(&card->lock, flags); spin_unlock_irqrestore(&card->lock, flags);
} else { } else {
memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); skb_put_data(skb, card->msgbuf, MsgLen);
if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_CONF) if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_CONF)
capilib_data_b3_conf(&cinfo->ncci_head, ApplId, capilib_data_b3_conf(&cinfo->ncci_head, ApplId,
CAPIMSG_NCCI(skb->data), CAPIMSG_NCCI(skb->data),

View File

@ -474,8 +474,8 @@ static void b1dma_handle_rx(avmcard *card)
printk(KERN_ERR "%s: incoming packet dropped\n", printk(KERN_ERR "%s: incoming packet dropped\n",
card->name); card->name);
} else { } else {
memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); skb_put_data(skb, card->msgbuf, MsgLen);
memcpy(skb_put(skb, DataB3Len), card->databuf, DataB3Len); skb_put_data(skb, card->databuf, DataB3Len);
capi_ctr_handle_message(ctrl, ApplId, skb); capi_ctr_handle_message(ctrl, ApplId, skb);
} }
break; break;
@ -488,7 +488,7 @@ static void b1dma_handle_rx(avmcard *card)
printk(KERN_ERR "%s: incoming packet dropped\n", printk(KERN_ERR "%s: incoming packet dropped\n",
card->name); card->name);
} else { } else {
memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); skb_put_data(skb, card->msgbuf, MsgLen);
if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_CONF) { if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_CONF) {
spin_lock(&card->lock); spin_lock(&card->lock);
capilib_data_b3_conf(&cinfo->ncci_head, ApplId, capilib_data_b3_conf(&cinfo->ncci_head, ApplId,

View File

@ -536,8 +536,8 @@ static void c4_handle_rx(avmcard *card)
printk(KERN_ERR "%s: incoming packet dropped\n", printk(KERN_ERR "%s: incoming packet dropped\n",
card->name); card->name);
} else { } else {
memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); skb_put_data(skb, card->msgbuf, MsgLen);
memcpy(skb_put(skb, DataB3Len), card->databuf, DataB3Len); skb_put_data(skb, card->databuf, DataB3Len);
capi_ctr_handle_message(ctrl, ApplId, skb); capi_ctr_handle_message(ctrl, ApplId, skb);
} }
break; break;
@ -555,7 +555,7 @@ static void c4_handle_rx(avmcard *card)
printk(KERN_ERR "%s: incoming packet dropped\n", printk(KERN_ERR "%s: incoming packet dropped\n",
card->name); card->name);
} else { } else {
memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); skb_put_data(skb, card->msgbuf, MsgLen);
if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_CONF) if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_CONF)
capilib_data_b3_conf(&cinfo->ncci_head, ApplId, capilib_data_b3_conf(&cinfo->ncci_head, ApplId,
CAPIMSG_NCCI(skb->data), CAPIMSG_NCCI(skb->data),

View File

@ -171,8 +171,8 @@ static irqreturn_t t1isa_interrupt(int interrupt, void *devptr)
printk(KERN_ERR "%s: incoming packet dropped\n", printk(KERN_ERR "%s: incoming packet dropped\n",
card->name); card->name);
} else { } else {
memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); skb_put_data(skb, card->msgbuf, MsgLen);
memcpy(skb_put(skb, DataB3Len), card->databuf, DataB3Len); skb_put_data(skb, card->databuf, DataB3Len);
capi_ctr_handle_message(ctrl, ApplId, skb); capi_ctr_handle_message(ctrl, ApplId, skb);
} }
break; break;
@ -186,7 +186,7 @@ static irqreturn_t t1isa_interrupt(int interrupt, void *devptr)
printk(KERN_ERR "%s: incoming packet dropped\n", printk(KERN_ERR "%s: incoming packet dropped\n",
card->name); card->name);
} else { } else {
memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); skb_put_data(skb, card->msgbuf, MsgLen);
if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3) if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3)
capilib_data_b3_conf(&cinfo->ncci_head, ApplId, capilib_data_b3_conf(&cinfo->ncci_head, ApplId,
CAPIMSG_NCCI(skb->data), CAPIMSG_NCCI(skb->data),

View File

@ -1926,7 +1926,7 @@ hfcmulti_dtmf(struct hfc_multi *hc)
hh = mISDN_HEAD_P(skb); hh = mISDN_HEAD_P(skb);
hh->prim = PH_CONTROL_IND; hh->prim = PH_CONTROL_IND;
hh->id = DTMF_HFC_COEF; hh->id = DTMF_HFC_COEF;
memcpy(skb_put(skb, 512), hc->chan[ch].coeff, 512); skb_put_data(skb, hc->chan[ch].coeff, 512);
recv_Bchannel_skb(bch, skb); recv_Bchannel_skb(bch, skb);
} }
} }
@ -2332,8 +2332,7 @@ hfcmulti_rx(struct hfc_multi *hc, int ch)
skb = *sp; skb = *sp;
*sp = mI_alloc_skb(skb->len, GFP_ATOMIC); *sp = mI_alloc_skb(skb->len, GFP_ATOMIC);
if (*sp) { if (*sp) {
memcpy(skb_put(*sp, skb->len), skb_put_data(*sp, skb->data, skb->len);
skb->data, skb->len);
skb_trim(skb, 0); skb_trim(skb, 0);
} else { } else {
printk(KERN_DEBUG "%s: No mem\n", printk(KERN_DEBUG "%s: No mem\n",

View File

@ -893,7 +893,7 @@ hfcsusb_rx_frame(struct usb_fifo *fifo, __u8 *data, unsigned int len,
} }
} }
memcpy(skb_put(rx_skb, len), data, len); skb_put_data(rx_skb, data, len);
if (hdlc) { if (hdlc) {
/* we have a complete hdlc packet */ /* we have a complete hdlc packet */

View File

@ -317,7 +317,8 @@ Amd7930_empty_Dfifo(struct IsdnCardState *cs, int flag)
debugl1(cs, "%s", cs->dlog); debugl1(cs, "%s", cs->dlog);
} }
/* moves received data in sk-buffer */ /* moves received data in sk-buffer */
memcpy(skb_put(skb, cs->rcvidx), cs->rcvbuf, cs->rcvidx); skb_put_data(skb, cs->rcvbuf,
cs->rcvidx);
skb_queue_tail(&cs->rq, skb); skb_queue_tail(&cs->rq, skb);
} }
} }

View File

@ -378,8 +378,9 @@ HDLC_irq(struct BCState *bcs, u_int stat) {
if (!(skb = dev_alloc_skb(bcs->hw.hdlc.rcvidx))) if (!(skb = dev_alloc_skb(bcs->hw.hdlc.rcvidx)))
printk(KERN_WARNING "HDLC: receive out of memory\n"); printk(KERN_WARNING "HDLC: receive out of memory\n");
else { else {
memcpy(skb_put(skb, bcs->hw.hdlc.rcvidx), skb_put_data(skb,
bcs->hw.hdlc.rcvbuf, bcs->hw.hdlc.rcvidx); bcs->hw.hdlc.rcvbuf,
bcs->hw.hdlc.rcvidx);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
bcs->hw.hdlc.rcvidx = 0; bcs->hw.hdlc.rcvidx = 0;

View File

@ -511,7 +511,8 @@ Memhscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
if (!(skb = dev_alloc_skb(count))) if (!(skb = dev_alloc_skb(count)))
printk(KERN_WARNING "HSCX: receive out of memory\n"); printk(KERN_WARNING "HSCX: receive out of memory\n");
else { else {
memcpy(skb_put(skb, count), bcs->hw.hscx.rcvbuf, count); skb_put_data(skb, bcs->hw.hscx.rcvbuf,
count);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
} }
@ -526,7 +527,8 @@ Memhscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
if (!(skb = dev_alloc_skb(fifo_size))) if (!(skb = dev_alloc_skb(fifo_size)))
printk(KERN_WARNING "HiSax: receive out of memory\n"); printk(KERN_WARNING "HiSax: receive out of memory\n");
else { else {
memcpy(skb_put(skb, fifo_size), bcs->hw.hscx.rcvbuf, fifo_size); skb_put_data(skb, bcs->hw.hscx.rcvbuf,
fifo_size);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
bcs->hw.hscx.rcvidx = 0; bcs->hw.hscx.rcvidx = 0;

View File

@ -333,8 +333,8 @@ static inline void receive_chars(struct IsdnCardState *cs,
if (!(skb = dev_alloc_skb(cs->hw.elsa.rcvcnt))) if (!(skb = dev_alloc_skb(cs->hw.elsa.rcvcnt)))
printk(KERN_WARNING "ElsaSER: receive out of memory\n"); printk(KERN_WARNING "ElsaSER: receive out of memory\n");
else { else {
memcpy(skb_put(skb, cs->hw.elsa.rcvcnt), cs->hw.elsa.rcvbuf, skb_put_data(skb, cs->hw.elsa.rcvbuf,
cs->hw.elsa.rcvcnt); cs->hw.elsa.rcvcnt);
skb_queue_tail(&cs->hw.elsa.bcs->rqueue, skb); skb_queue_tail(&cs->hw.elsa.bcs->rqueue, skb);
} }
schedule_event(cs->hw.elsa.bcs, B_RCVBUFREADY); schedule_event(cs->hw.elsa.bcs, B_RCVBUFREADY);

View File

@ -799,7 +799,7 @@ collect_rx_frame(usb_fifo *fifo, __u8 *data, int len, int finish)
} }
if (len) { if (len) {
if (fifo->skbuff->len + len < fifo->max_size) { if (fifo->skbuff->len + len < fifo->max_size) {
memcpy(skb_put(fifo->skbuff, len), data, len); skb_put_data(fifo->skbuff, data, len);
} else { } else {
DBG(HFCUSB_DBG_FIFO_ERR, DBG(HFCUSB_DBG_FIFO_ERR,
"HCF-USB: got frame exceeded fifo->max_size(%d) fifo(%d)", "HCF-USB: got frame exceeded fifo->max_size(%d) fifo(%d)",

View File

@ -495,8 +495,7 @@ static inline void hdlc_rpr_irq(struct fritz_bcs *bcs, u32 stat)
if (!skb) { if (!skb) {
printk(KERN_WARNING "HDLC: receive out of memory\n"); printk(KERN_WARNING "HDLC: receive out of memory\n");
} else { } else {
memcpy(skb_put(skb, bcs->rcvidx), bcs->rcvbuf, skb_put_data(skb, bcs->rcvbuf, bcs->rcvidx);
bcs->rcvidx);
DBG_SKB(1, skb); DBG_SKB(1, skb);
B_L1L2(bcs, PH_DATA | INDICATION, skb); B_L1L2(bcs, PH_DATA | INDICATION, skb);
} }

View File

@ -557,7 +557,7 @@ static inline void isac_rme_interrupt(struct isac *isac)
DBG(DBG_WARN, "no memory, dropping\n"); DBG(DBG_WARN, "no memory, dropping\n");
goto out; goto out;
} }
memcpy(skb_put(skb, count), isac->rcvbuf, count); skb_put_data(skb, isac->rcvbuf, count);
DBG_SKB(DBG_RPACKET, skb); DBG_SKB(DBG_RPACKET, skb);
D_L1L2(isac, PH_DATA | INDICATION, skb); D_L1L2(isac, PH_DATA | INDICATION, skb);
out: out:
@ -687,7 +687,7 @@ static inline void isacsx_rme_interrupt(struct isac *isac)
DBG(DBG_WARN, "no memory, dropping"); DBG(DBG_WARN, "no memory, dropping");
goto out; goto out;
} }
memcpy(skb_put(skb, count), isac->rcvbuf, count); skb_put_data(skb, isac->rcvbuf, count);
DBG_SKB(DBG_RPACKET, skb); DBG_SKB(DBG_RPACKET, skb);
D_L1L2(isac, PH_DATA | INDICATION, skb); D_L1L2(isac, PH_DATA | INDICATION, skb);
out: out:

View File

@ -169,7 +169,8 @@ hscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
if (!(skb = dev_alloc_skb(count))) if (!(skb = dev_alloc_skb(count)))
printk(KERN_WARNING "HSCX: receive out of memory\n"); printk(KERN_WARNING "HSCX: receive out of memory\n");
else { else {
memcpy(skb_put(skb, count), bcs->hw.hscx.rcvbuf, count); skb_put_data(skb, bcs->hw.hscx.rcvbuf,
count);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
} }
@ -184,7 +185,8 @@ hscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
if (!(skb = dev_alloc_skb(fifo_size))) if (!(skb = dev_alloc_skb(fifo_size)))
printk(KERN_WARNING "HiSax: receive out of memory\n"); printk(KERN_WARNING "HiSax: receive out of memory\n");
else { else {
memcpy(skb_put(skb, fifo_size), bcs->hw.hscx.rcvbuf, fifo_size); skb_put_data(skb, bcs->hw.hscx.rcvbuf,
fifo_size);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
bcs->hw.hscx.rcvidx = 0; bcs->hw.hscx.rcvidx = 0;

View File

@ -217,7 +217,7 @@ icc_interrupt(struct IsdnCardState *cs, u_char val)
if (!(skb = alloc_skb(count, GFP_ATOMIC))) if (!(skb = alloc_skb(count, GFP_ATOMIC)))
printk(KERN_WARNING "HiSax: D receive out of memory\n"); printk(KERN_WARNING "HiSax: D receive out of memory\n");
else { else {
memcpy(skb_put(skb, count), cs->rcvbuf, count); skb_put_data(skb, cs->rcvbuf, count);
skb_queue_tail(&cs->rq, skb); skb_queue_tail(&cs->rq, skb);
} }
} }

View File

@ -350,7 +350,7 @@ dch_int(struct IsdnCardState *cs)
if (!(skb = dev_alloc_skb(count))) if (!(skb = dev_alloc_skb(count)))
printk(KERN_WARNING "HiSax dch_int(): receive out of memory\n"); printk(KERN_WARNING "HiSax dch_int(): receive out of memory\n");
else { else {
memcpy(skb_put(skb, count), cs->rcvbuf, count); skb_put_data(skb, cs->rcvbuf, count);
skb_queue_tail(&cs->rq, skb); skb_queue_tail(&cs->rq, skb);
} }
} }
@ -627,7 +627,8 @@ bch_int(struct IsdnCardState *cs, u_char hscx)
if (!(skb = dev_alloc_skb(count))) if (!(skb = dev_alloc_skb(count)))
printk(KERN_WARNING "HiSax bch_int(): receive frame out of memory\n"); printk(KERN_WARNING "HiSax bch_int(): receive frame out of memory\n");
else { else {
memcpy(skb_put(skb, count), bcs->hw.hscx.rcvbuf, count); skb_put_data(skb, bcs->hw.hscx.rcvbuf,
count);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
} }
@ -644,7 +645,8 @@ bch_int(struct IsdnCardState *cs, u_char hscx)
if (!(skb = dev_alloc_skb(B_FIFO_SIZE))) if (!(skb = dev_alloc_skb(B_FIFO_SIZE)))
printk(KERN_WARNING "HiSax bch_int(): receive transparent out of memory\n"); printk(KERN_WARNING "HiSax bch_int(): receive transparent out of memory\n");
else { else {
memcpy(skb_put(skb, B_FIFO_SIZE), bcs->hw.hscx.rcvbuf, B_FIFO_SIZE); skb_put_data(skb, bcs->hw.hscx.rcvbuf,
B_FIFO_SIZE);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
bcs->hw.hscx.rcvidx = 0; bcs->hw.hscx.rcvidx = 0;

View File

@ -222,7 +222,7 @@ isac_interrupt(struct IsdnCardState *cs, u_char val)
if (!skb) if (!skb)
printk(KERN_WARNING "HiSax: D receive out of memory\n"); printk(KERN_WARNING "HiSax: D receive out of memory\n");
else { else {
memcpy(skb_put(skb, count), cs->rcvbuf, count); skb_put_data(skb, cs->rcvbuf, count);
skb_queue_tail(&cs->rq, skb); skb_queue_tail(&cs->rq, skb);
} }
} }

View File

@ -458,7 +458,7 @@ send_DLE_ETX(struct BCState *bcs)
struct sk_buff *skb; struct sk_buff *skb;
if ((skb = dev_alloc_skb(2))) { if ((skb = dev_alloc_skb(2))) {
memcpy(skb_put(skb, 2), dleetx, 2); skb_put_data(skb, dleetx, 2);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
schedule_event(bcs, B_RCVBUFREADY); schedule_event(bcs, B_RCVBUFREADY);
} else { } else {
@ -550,8 +550,8 @@ isar_rcv_frame(struct IsdnCardState *cs, struct BCState *bcs)
} else if (!(skb = dev_alloc_skb(bcs->hw.isar.rcvidx - 2))) { } else if (!(skb = dev_alloc_skb(bcs->hw.isar.rcvidx - 2))) {
printk(KERN_WARNING "ISAR: receive out of memory\n"); printk(KERN_WARNING "ISAR: receive out of memory\n");
} else { } else {
memcpy(skb_put(skb, bcs->hw.isar.rcvidx - 2), skb_put_data(skb, bcs->hw.isar.rcvbuf,
bcs->hw.isar.rcvbuf, bcs->hw.isar.rcvidx - 2); bcs->hw.isar.rcvidx - 2);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
schedule_event(bcs, B_RCVBUFREADY); schedule_event(bcs, B_RCVBUFREADY);
} }

View File

@ -433,7 +433,7 @@ send_uframe(struct PStack *st, u_char cmd, u_char cr)
printk(KERN_WARNING "isdl2 can't alloc sbbuff for send_uframe\n"); printk(KERN_WARNING "isdl2 can't alloc sbbuff for send_uframe\n");
return; return;
} }
memcpy(skb_put(skb, i), tmp, i); skb_put_data(skb, tmp, i);
enqueue_super(st, skb); enqueue_super(st, skb);
} }
@ -894,7 +894,7 @@ enquiry_cr(struct PStack *st, u_char typ, u_char cr, u_char pf)
printk(KERN_WARNING "isdl2 can't alloc sbbuff for enquiry_cr\n"); printk(KERN_WARNING "isdl2 can't alloc sbbuff for enquiry_cr\n");
return; return;
} }
memcpy(skb_put(skb, i), tmp, i); skb_put_data(skb, tmp, i);
enqueue_super(st, skb); enqueue_super(st, skb);
} }

View File

@ -147,7 +147,8 @@ jade_interrupt(struct IsdnCardState *cs, u_char val, u_char jade)
if (!(skb = dev_alloc_skb(count))) if (!(skb = dev_alloc_skb(count)))
printk(KERN_WARNING "JADE %s receive out of memory\n", (jade ? "B" : "A")); printk(KERN_WARNING "JADE %s receive out of memory\n", (jade ? "B" : "A"));
else { else {
memcpy(skb_put(skb, count), bcs->hw.hscx.rcvbuf, count); skb_put_data(skb, bcs->hw.hscx.rcvbuf,
count);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
} }
@ -162,7 +163,8 @@ jade_interrupt(struct IsdnCardState *cs, u_char val, u_char jade)
if (!(skb = dev_alloc_skb(fifo_size))) if (!(skb = dev_alloc_skb(fifo_size)))
printk(KERN_WARNING "HiSax: receive out of memory\n"); printk(KERN_WARNING "HiSax: receive out of memory\n");
else { else {
memcpy(skb_put(skb, fifo_size), bcs->hw.hscx.rcvbuf, fifo_size); skb_put_data(skb, bcs->hw.hscx.rcvbuf,
fifo_size);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
bcs->hw.hscx.rcvidx = 0; bcs->hw.hscx.rcvidx = 0;

View File

@ -149,7 +149,7 @@ l3_1tr6_setup_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
L3DelTimer(&pc->timer); L3DelTimer(&pc->timer);
L3AddTimer(&pc->timer, T303, CC_T303); L3AddTimer(&pc->timer, T303, CC_T303);
newl3state(pc, 1); newl3state(pc, 1);
@ -497,7 +497,7 @@ l3_1tr6_setup_rsp(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
L3DelTimer(&pc->timer); L3DelTimer(&pc->timer);
L3AddTimer(&pc->timer, T313, CC_T313); L3AddTimer(&pc->timer, T313, CC_T313);
@ -543,7 +543,7 @@ l3_1tr6_disconnect_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
L3AddTimer(&pc->timer, T305, CC_T305); L3AddTimer(&pc->timer, T305, CC_T305);
} }
@ -602,7 +602,7 @@ l3_1tr6_t305(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
L3AddTimer(&pc->timer, T308, CC_T308_1); L3AddTimer(&pc->timer, T308, CC_T308_1);
} }

View File

@ -525,7 +525,7 @@ l3dss1_message_cause(struct l3_process *pc, u_char mt, u_char cause)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} }
@ -551,7 +551,7 @@ l3dss1_status_send(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} }
@ -587,7 +587,7 @@ l3dss1_msg_without_setup(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
dss1_release_l3_process(pc); dss1_release_l3_process(pc);
} }
@ -944,7 +944,7 @@ l3dss1_msg_with_uus(struct l3_process *pc, u_char cmd)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} /* l3dss1_msg_with_uus */ } /* l3dss1_msg_with_uus */
@ -1420,7 +1420,7 @@ l3dss1_setup_req(struct l3_process *pc, u_char pr,
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
L3DelTimer(&pc->timer); L3DelTimer(&pc->timer);
L3AddTimer(&pc->timer, T303, CC_T303); L3AddTimer(&pc->timer, T303, CC_T303);
newl3state(pc, 1); newl3state(pc, 1);
@ -1786,7 +1786,7 @@ l3dss1_disconnect_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
newl3state(pc, 11); newl3state(pc, 11);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
L3AddTimer(&pc->timer, T305, CC_T305); L3AddTimer(&pc->timer, T305, CC_T305);
@ -1848,7 +1848,7 @@ l3dss1_reject_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
pc->st->l3.l3l4(pc->st, CC_RELEASE | INDICATION, pc); pc->st->l3.l3l4(pc->st, CC_RELEASE | INDICATION, pc);
newl3state(pc, 0); newl3state(pc, 0);
@ -2145,7 +2145,7 @@ static void l3dss1_redir_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) return; if (!(skb = l3_alloc_skb(l))) return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} /* l3dss1_redir_req */ } /* l3dss1_redir_req */
@ -2216,7 +2216,7 @@ static int l3dss1_cmd_global(struct PStack *st, isdn_ctrl *ic)
if (pc) dss1_release_l3_process(pc); if (pc) dss1_release_l3_process(pc);
return (-2); return (-2);
} }
memcpy(skb_put(skb, l), temp, l); skb_put_data(skb, temp, l);
if (pc) if (pc)
{ pc->prot.dss1.invoke_id = id; /* remember id */ { pc->prot.dss1.invoke_id = id; /* remember id */
@ -2359,7 +2359,7 @@ l3dss1_t305(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
newl3state(pc, 19); newl3state(pc, 19);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
L3AddTimer(&pc->timer, T308, CC_T308_1); L3AddTimer(&pc->timer, T308, CC_T308_1);
@ -2528,7 +2528,7 @@ l3dss1_suspend_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
newl3state(pc, 15); newl3state(pc, 15);
L3AddTimer(&pc->timer, T319, CC_T319); L3AddTimer(&pc->timer, T319, CC_T319);
@ -2603,7 +2603,7 @@ l3dss1_resume_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
newl3state(pc, 17); newl3state(pc, 17);
L3AddTimer(&pc->timer, T318, CC_T318); L3AddTimer(&pc->timer, T318, CC_T318);
@ -2721,7 +2721,7 @@ l3dss1_global_restart(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
newl3state(pc, 0); newl3state(pc, 0);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} }
@ -2929,7 +2929,7 @@ global_handler(struct PStack *st, int mt, struct sk_buff *skb)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(proc->st, DL_DATA | REQUEST, skb); l3_msg(proc->st, DL_DATA | REQUEST, skb);
} else { } else {
if (st->l3.debug & L3_DEB_STATE) { if (st->l3.debug & L3_DEB_STATE) {

View File

@ -454,7 +454,7 @@ l3ni1_message_plus_chid(struct l3_process *pc, u_char mt)
if (!(skb = l3_alloc_skb(7))) if (!(skb = l3_alloc_skb(7)))
return; return;
memcpy(skb_put(skb, 7), tmp, 7); skb_put_data(skb, tmp, 7);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} }
@ -475,7 +475,7 @@ l3ni1_message_cause(struct l3_process *pc, u_char mt, u_char cause)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} }
@ -501,7 +501,7 @@ l3ni1_status_send(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} }
@ -537,7 +537,7 @@ l3ni1_msg_without_setup(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
ni1_release_l3_process(pc); ni1_release_l3_process(pc);
} }
@ -894,7 +894,7 @@ l3ni1_msg_with_uus(struct l3_process *pc, u_char cmd)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} /* l3ni1_msg_with_uus */ } /* l3ni1_msg_with_uus */
@ -1274,7 +1274,7 @@ l3ni1_setup_req(struct l3_process *pc, u_char pr,
{ {
return; return;
} }
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
L3DelTimer(&pc->timer); L3DelTimer(&pc->timer);
L3AddTimer(&pc->timer, T303, CC_T303); L3AddTimer(&pc->timer, T303, CC_T303);
newl3state(pc, 1); newl3state(pc, 1);
@ -1640,7 +1640,7 @@ l3ni1_disconnect_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
newl3state(pc, 11); newl3state(pc, 11);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
L3AddTimer(&pc->timer, T305, CC_T305); L3AddTimer(&pc->timer, T305, CC_T305);
@ -1704,7 +1704,7 @@ l3ni1_reject_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
pc->st->l3.l3l4(pc->st, CC_RELEASE | INDICATION, pc); pc->st->l3.l3l4(pc->st, CC_RELEASE | INDICATION, pc);
newl3state(pc, 0); newl3state(pc, 0);
@ -2001,7 +2001,7 @@ static void l3ni1_redir_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) return; if (!(skb = l3_alloc_skb(l))) return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} /* l3ni1_redir_req */ } /* l3ni1_redir_req */
@ -2076,7 +2076,7 @@ static int l3ni1_cmd_global(struct PStack *st, isdn_ctrl *ic)
if (pc) ni1_release_l3_process(pc); if (pc) ni1_release_l3_process(pc);
return (-2); return (-2);
} }
memcpy(skb_put(skb, l), temp, l); skb_put_data(skb, temp, l);
if (pc) if (pc)
{ pc->prot.ni1.invoke_id = id; /* remember id */ { pc->prot.ni1.invoke_id = id; /* remember id */
@ -2219,7 +2219,7 @@ l3ni1_t305(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
newl3state(pc, 19); newl3state(pc, 19);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
L3AddTimer(&pc->timer, T308, CC_T308_1); L3AddTimer(&pc->timer, T308, CC_T308_1);
@ -2388,7 +2388,7 @@ l3ni1_suspend_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
newl3state(pc, 15); newl3state(pc, 15);
L3AddTimer(&pc->timer, T319, CC_T319); L3AddTimer(&pc->timer, T319, CC_T319);
@ -2463,7 +2463,7 @@ l3ni1_resume_req(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
newl3state(pc, 17); newl3state(pc, 17);
L3AddTimer(&pc->timer, T318, CC_T318); L3AddTimer(&pc->timer, T318, CC_T318);
@ -2582,7 +2582,7 @@ l3ni1_global_restart(struct l3_process *pc, u_char pr, void *arg)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
newl3state(pc, 0); newl3state(pc, 0);
l3_msg(pc->st, DL_DATA | REQUEST, skb); l3_msg(pc->st, DL_DATA | REQUEST, skb);
} }
@ -2655,7 +2655,7 @@ static void l3ni1_SendSpid(struct l3_process *pc, u_char pr, struct sk_buff *skb
*p++ = IE_SPID; *p++ = IE_SPID;
*p++ = l; *p++ = l;
memcpy(skb_put(skb, l), pSPID, l); skb_put_data(skb, pSPID, l);
newl3state(pc, iNewState); newl3state(pc, iNewState);
@ -2873,7 +2873,7 @@ global_handler(struct PStack *st, int mt, struct sk_buff *skb)
l = p - tmp; l = p - tmp;
if (!(skb = l3_alloc_skb(l))) if (!(skb = l3_alloc_skb(l)))
return; return;
memcpy(skb_put(skb, l), tmp, l); skb_put_data(skb, tmp, l);
l3_msg(proc->st, DL_DATA | REQUEST, skb); l3_msg(proc->st, DL_DATA | REQUEST, skb);
} else { } else {
if (st->l3.debug & L3_DEB_STATE) { if (st->l3.debug & L3_DEB_STATE) {

View File

@ -383,7 +383,7 @@ static void got_frame(struct BCState *bcs, int count) {
if (!(skb = dev_alloc_skb(count))) if (!(skb = dev_alloc_skb(count)))
printk(KERN_WARNING "TIGER: receive out of memory\n"); printk(KERN_WARNING "TIGER: receive out of memory\n");
else { else {
memcpy(skb_put(skb, count), bcs->hw.tiger.rcvbuf, count); skb_put_data(skb, bcs->hw.tiger.rcvbuf, count);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
test_and_set_bit(B_RCVBUFREADY, &bcs->event); test_and_set_bit(B_RCVBUFREADY, &bcs->event);

View File

@ -527,7 +527,7 @@ static void usb_in_complete(struct urb *urb)
WARNING("receive out of memory\n"); WARNING("receive out of memory\n");
break; break;
} }
memcpy(skb_put(skb, status), in->rcvbuf, status); skb_put_data(skb, in->rcvbuf, status);
in->hisax_if->l1l2(in->hisax_if, PH_DATA | INDICATION, skb); in->hisax_if->l1l2(in->hisax_if, PH_DATA | INDICATION, skb);
} else if (status == -HDLC_CRC_ERROR) { } else if (status == -HDLC_CRC_ERROR) {
INFO("CRC error"); INFO("CRC error");

View File

@ -309,7 +309,9 @@ W6692B_interrupt(struct IsdnCardState *cs, u_char bchan)
if (!(skb = dev_alloc_skb(count))) if (!(skb = dev_alloc_skb(count)))
printk(KERN_WARNING "W6692: Bchan receive out of memory\n"); printk(KERN_WARNING "W6692: Bchan receive out of memory\n");
else { else {
memcpy(skb_put(skb, count), bcs->hw.w6692.rcvbuf, count); skb_put_data(skb,
bcs->hw.w6692.rcvbuf,
count);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
} }
@ -332,7 +334,8 @@ W6692B_interrupt(struct IsdnCardState *cs, u_char bchan)
if (!(skb = dev_alloc_skb(W_B_FIFO_THRESH))) if (!(skb = dev_alloc_skb(W_B_FIFO_THRESH)))
printk(KERN_WARNING "HiSax: receive out of memory\n"); printk(KERN_WARNING "HiSax: receive out of memory\n");
else { else {
memcpy(skb_put(skb, W_B_FIFO_THRESH), bcs->hw.w6692.rcvbuf, W_B_FIFO_THRESH); skb_put_data(skb, bcs->hw.w6692.rcvbuf,
W_B_FIFO_THRESH);
skb_queue_tail(&bcs->rqueue, skb); skb_queue_tail(&bcs->rqueue, skb);
} }
bcs->hw.w6692.rcvidx = 0; bcs->hw.w6692.rcvidx = 0;
@ -441,7 +444,7 @@ W6692_interrupt(int intno, void *dev_id)
if (!(skb = alloc_skb(count, GFP_ATOMIC))) if (!(skb = alloc_skb(count, GFP_ATOMIC)))
printk(KERN_WARNING "HiSax: D receive out of memory\n"); printk(KERN_WARNING "HiSax: D receive out of memory\n");
else { else {
memcpy(skb_put(skb, count), cs->rcvbuf, count); skb_put_data(skb, cs->rcvbuf, count);
skb_queue_tail(&cs->rq, skb); skb_queue_tail(&cs->rq, skb);
} }
} }

View File

@ -171,16 +171,16 @@ hycapi_register_internal(struct capi_ctr *ctrl, __u16 appl,
card->myid); card->myid);
return; return;
} }
memcpy(skb_put(skb, sizeof(__u16)), &len, sizeof(__u16)); skb_put_data(skb, &len, sizeof(__u16));
memcpy(skb_put(skb, sizeof(__u16)), &appl, sizeof(__u16)); skb_put_data(skb, &appl, sizeof(__u16));
memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command)); memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command));
memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand)); memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand));
memcpy(skb_put(skb, sizeof(__u16)), &MessageNumber, sizeof(__u16)); skb_put_data(skb, &MessageNumber, sizeof(__u16));
memcpy(skb_put(skb, sizeof(__u16)), &MessageBufferSize, sizeof(__u16)); skb_put_data(skb, &MessageBufferSize, sizeof(__u16));
memcpy(skb_put(skb, sizeof(__u16)), &(rp->level3cnt), sizeof(__u16)); skb_put_data(skb, &(rp->level3cnt), sizeof(__u16));
memcpy(skb_put(skb, sizeof(__u16)), &(rp->datablkcnt), sizeof(__u16)); skb_put_data(skb, &(rp->datablkcnt), sizeof(__u16));
memcpy(skb_put(skb, sizeof(__u16)), &(rp->datablklen), sizeof(__u16)); skb_put_data(skb, &(rp->datablklen), sizeof(__u16));
memcpy(skb_put(skb, slen), ExtFeatureDefaults, slen); skb_put_data(skb, ExtFeatureDefaults, slen);
hycapi_applications[appl - 1].ctrl_mask |= (1 << (ctrl->cnr - 1)); hycapi_applications[appl - 1].ctrl_mask |= (1 << (ctrl->cnr - 1));
hycapi_send_message(ctrl, skb); hycapi_send_message(ctrl, skb);
} }
@ -279,11 +279,11 @@ static void hycapi_release_internal(struct capi_ctr *ctrl, __u16 appl)
card->myid); card->myid);
return; return;
} }
memcpy(skb_put(skb, sizeof(__u16)), &len, sizeof(__u16)); skb_put_data(skb, &len, sizeof(__u16));
memcpy(skb_put(skb, sizeof(__u16)), &appl, sizeof(__u16)); skb_put_data(skb, &appl, sizeof(__u16));
memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command)); memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command));
memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand)); memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand));
memcpy(skb_put(skb, sizeof(__u16)), &MessageNumber, sizeof(__u16)); skb_put_data(skb, &MessageNumber, sizeof(__u16));
hycapi_send_message(ctrl, skb); hycapi_send_message(ctrl, skb);
hycapi_applications[appl - 1].ctrl_mask &= ~(1 << (ctrl->cnr - 1)); hycapi_applications[appl - 1].ctrl_mask &= ~(1 << (ctrl->cnr - 1));
} }
@ -557,10 +557,9 @@ hycapi_rx_capipkt(hysdn_card *card, unsigned char *buf, unsigned short len)
card->myid); card->myid);
return; return;
} }
memcpy(skb_put(skb, MsgLen), buf, MsgLen); skb_put_data(skb, buf, MsgLen);
memcpy(skb_put(skb, 2 * sizeof(__u32)), CP64, 2 * sizeof(__u32)); skb_put_data(skb, CP64, 2 * sizeof(__u32));
memcpy(skb_put(skb, len - MsgLen), buf + MsgLen, skb_put_data(skb, buf + MsgLen, len - MsgLen);
len - MsgLen);
CAPIMSG_SETLEN(skb->data, 30); CAPIMSG_SETLEN(skb->data, 30);
} else { } else {
if (!(skb = alloc_skb(len, GFP_ATOMIC))) { if (!(skb = alloc_skb(len, GFP_ATOMIC))) {
@ -568,7 +567,7 @@ hycapi_rx_capipkt(hysdn_card *card, unsigned char *buf, unsigned short len)
card->myid); card->myid);
return; return;
} }
memcpy(skb_put(skb, len), buf, len); skb_put_data(skb, buf, len);
} }
switch (CAPIMSG_CMD(skb->data)) switch (CAPIMSG_CMD(skb->data))
{ {

View File

@ -201,7 +201,7 @@ hysdn_rx_netpkt(hysdn_card *card, unsigned char *buf, unsigned short len)
return; return;
} }
/* copy the data */ /* copy the data */
memcpy(skb_put(skb, len), buf, len); skb_put_data(skb, buf, len);
/* determine the used protocol */ /* determine the used protocol */
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);

View File

@ -2258,8 +2258,7 @@ static void isdn_ppp_ccp_xmit_reset(struct ippp_struct *is, int proto,
/* Now stuff remaining bytes */ /* Now stuff remaining bytes */
if (len) { if (len) {
p = skb_put(skb, len); p = skb_put_data(skb, data, len);
memcpy(p, data, len);
} }
/* skb is now ready for xmit */ /* skb is now ready for xmit */

View File

@ -474,7 +474,7 @@ isdn_tty_senddown(modem_info *info)
return; return;
} }
skb_reserve(skb, skb_res); skb_reserve(skb, skb_res);
memcpy(skb_put(skb, buflen), info->port.xmit_buf, buflen); skb_put_data(skb, info->port.xmit_buf, buflen);
info->xmit_count = 0; info->xmit_count = 0;
#ifdef CONFIG_ISDN_AUDIO #ifdef CONFIG_ISDN_AUDIO
if (info->vonline & 2) { if (info->vonline & 2) {

View File

@ -421,7 +421,7 @@ isdn_v110_sync(isdn_v110_stream *v)
} }
if ((skb = dev_alloc_skb(v->framelen + v->skbres))) { if ((skb = dev_alloc_skb(v->framelen + v->skbres))) {
skb_reserve(skb, v->skbres); skb_reserve(skb, v->skbres);
memcpy(skb_put(skb, v->framelen), v->OfflineFrame, v->framelen); skb_put_data(skb, v->OfflineFrame, v->framelen);
} }
return skb; return skb;
} }
@ -441,7 +441,7 @@ isdn_v110_idle(isdn_v110_stream *v)
} }
if ((skb = dev_alloc_skb(v->framelen + v->skbres))) { if ((skb = dev_alloc_skb(v->framelen + v->skbres))) {
skb_reserve(skb, v->skbres); skb_reserve(skb, v->skbres);
memcpy(skb_put(skb, v->framelen), v->OnlineFrame, v->framelen); skb_put_data(skb, v->OnlineFrame, v->framelen);
} }
return skb; return skb;
} }
@ -486,7 +486,7 @@ isdn_v110_encode(isdn_v110_stream *v, struct sk_buff *skb)
} }
skb_reserve(nskb, v->skbres + sizeof(int)); skb_reserve(nskb, v->skbres + sizeof(int));
if (skb->len == 0) { if (skb->len == 0) {
memcpy(skb_put(nskb, v->framelen), v->OnlineFrame, v->framelen); skb_put_data(nskb, v->OnlineFrame, v->framelen);
*((int *)skb_push(nskb, sizeof(int))) = 0; *((int *)skb_push(nskb, sizeof(int))) = 0;
return nskb; return nskb;
} }

View File

@ -479,7 +479,7 @@ isdnloop_fake(isdnloop_card *card, char *s, int ch)
} }
if (ch >= 0) if (ch >= 0)
sprintf(skb_put(skb, 3), "%02d;", ch); sprintf(skb_put(skb, 3), "%02d;", ch);
memcpy(skb_put(skb, strlen(s)), s, strlen(s)); skb_put_data(skb, s, strlen(s));
skb_queue_tail(&card->dqueue, skb); skb_queue_tail(&card->dqueue, skb);
return 0; return 0;
} }

View File

@ -1595,8 +1595,7 @@ dsp_cmx_send_member(struct dsp *dsp, int len, s32 *c, int members)
thh = mISDN_HEAD_P(txskb); thh = mISDN_HEAD_P(txskb);
thh->prim = DL_DATA_REQ; thh->prim = DL_DATA_REQ;
thh->id = 0; thh->id = 0;
memcpy(skb_put(txskb, len), nskb->data + preload, skb_put_data(txskb, nskb->data + preload, len);
len);
/* queue (trigger later) */ /* queue (trigger later) */
skb_queue_tail(&dsp->sendq, txskb); skb_queue_tail(&dsp->sendq, txskb);
} }

View File

@ -176,7 +176,7 @@ l2up_create(struct layer2 *l2, u_int prim, int len, void *arg)
hh->prim = prim; hh->prim = prim;
hh->id = (l2->ch.nr << 16) | l2->ch.addr; hh->id = (l2->ch.nr << 16) | l2->ch.addr;
if (len) if (len)
memcpy(skb_put(skb, len), arg, len); skb_put_data(skb, arg, len);
err = l2->up->send(l2->up, skb); err = l2->up->send(l2->up, skb);
if (err) { if (err) {
printk(KERN_WARNING "%s: dev %s err=%d\n", __func__, printk(KERN_WARNING "%s: dev %s err=%d\n", __func__,
@ -235,7 +235,7 @@ l2down_create(struct layer2 *l2, u_int prim, u_int id, int len, void *arg)
hh->prim = prim; hh->prim = prim;
hh->id = id; hh->id = id;
if (len) if (len)
memcpy(skb_put(skb, len), arg, len); skb_put_data(skb, arg, len);
err = l2down_raw(l2, skb); err = l2down_raw(l2, skb);
if (err) if (err)
dev_kfree_skb(skb); dev_kfree_skb(skb);
@ -640,7 +640,7 @@ send_uframe(struct layer2 *l2, struct sk_buff *skb, u_char cmd, u_char cr)
return; return;
} }
} }
memcpy(skb_put(skb, i), tmp, i); skb_put_data(skb, tmp, i);
enqueue_super(l2, skb); enqueue_super(l2, skb);
} }
@ -1125,7 +1125,7 @@ enquiry_cr(struct layer2 *l2, u_char typ, u_char cr, u_char pf)
mISDNDevName4ch(&l2->ch), __func__); mISDNDevName4ch(&l2->ch), __func__);
return; return;
} }
memcpy(skb_put(skb, i), tmp, i); skb_put_data(skb, tmp, i);
enqueue_super(l2, skb); enqueue_super(l2, skb);
} }

View File

@ -312,7 +312,7 @@ teiup_create(struct manager *mgr, u_int prim, int len, void *arg)
hh->prim = prim; hh->prim = prim;
hh->id = (mgr->ch.nr << 16) | mgr->ch.addr; hh->id = (mgr->ch.nr << 16) | mgr->ch.addr;
if (len) if (len)
memcpy(skb_put(skb, len), arg, len); skb_put_data(skb, arg, len);
err = mgr->up->send(mgr->up, skb); err = mgr->up->send(mgr->up, skb);
if (err) { if (err) {
printk(KERN_WARNING "%s: err=%d\n", __func__, err); printk(KERN_WARNING "%s: err=%d\n", __func__, err);

View File

@ -828,8 +828,7 @@ static void dvb_net_ule(struct net_device *dev, const u8 *buf, size_t buf_len)
/* Copy data into our current skb. */ /* Copy data into our current skb. */
h.how_much = min(h.priv->ule_sndu_remain, (int)h.ts_remain); h.how_much = min(h.priv->ule_sndu_remain, (int)h.ts_remain);
memcpy(skb_put(h.priv->ule_skb, h.how_much), skb_put_data(h.priv->ule_skb, h.from_where, h.how_much);
h.from_where, h.how_much);
h.priv->ule_sndu_remain -= h.how_much; h.priv->ule_sndu_remain -= h.how_much;
h.ts_remain -= h.how_much; h.ts_remain -= h.how_much;
h.from_where += h.how_much; h.from_where += h.how_much;

View File

@ -442,7 +442,7 @@ static int fm_send_cmd(struct fmdev *fmdev, u8 fm_op, u16 type, void *payload,
fm_cb(skb)->fm_op = *((u8 *)payload + 2); fm_cb(skb)->fm_op = *((u8 *)payload + 2);
} }
if (payload != NULL) if (payload != NULL)
memcpy(skb_put(skb, payload_len), payload, payload_len); skb_put_data(skb, payload, payload_len);
fm_cb(skb)->completion = wait_completion; fm_cb(skb)->completion = wait_completion;
skb_queue_tail(&fmdev->tx_q, skb); skb_queue_tail(&fmdev->tx_q, skb);

View File

@ -262,7 +262,7 @@ void st_int_recv(void *disc_data,
while (count) { while (count) {
if (st_gdata->rx_count) { if (st_gdata->rx_count) {
len = min_t(unsigned int, st_gdata->rx_count, count); len = min_t(unsigned int, st_gdata->rx_count, count);
memcpy(skb_put(st_gdata->rx_skb, len), ptr, len); skb_put_data(st_gdata->rx_skb, ptr, len);
st_gdata->rx_count -= len; st_gdata->rx_count -= len;
count -= len; count -= len;
ptr += len; ptr += len;

View File

@ -152,7 +152,7 @@ static void kim_int_recv(struct kim_data_s *kim_gdata,
while (count) { while (count) {
if (kim_gdata->rx_count) { if (kim_gdata->rx_count) {
len = min_t(unsigned int, kim_gdata->rx_count, count); len = min_t(unsigned int, kim_gdata->rx_count, count);
memcpy(skb_put(kim_gdata->rx_skb, len), ptr, len); skb_put_data(kim_gdata->rx_skb, ptr, len);
kim_gdata->rx_count -= len; kim_gdata->rx_count -= len;
count -= len; count -= len;
ptr += len; ptr += len;

View File

@ -936,8 +936,7 @@ static void alb_send_lp_vid(struct slave *slave, u8 mac_addr[],
if (!skb) if (!skb)
return; return;
data = skb_put(skb, size); data = skb_put_data(skb, &pkt, size);
memcpy(data, &pkt, size);
skb_reset_mac_header(skb); skb_reset_mac_header(skb);
skb->network_header = skb->mac_header + ETH_HLEN; skb->network_header = skb->mac_header + ETH_HLEN;

View File

@ -454,8 +454,7 @@ static int cfhsi_rx_desc(struct cfhsi_desc *desc, struct cfhsi *cfhsi)
} }
caif_assert(skb != NULL); caif_assert(skb != NULL);
dst = skb_put(skb, len); dst = skb_put_data(skb, pfrm, len);
memcpy(dst, pfrm, len);
skb->protocol = htons(ETH_P_CAIF); skb->protocol = htons(ETH_P_CAIF);
skb_reset_mac_header(skb); skb_reset_mac_header(skb);
@ -585,8 +584,7 @@ static int cfhsi_rx_pld(struct cfhsi_desc *desc, struct cfhsi *cfhsi)
} }
caif_assert(skb != NULL); caif_assert(skb != NULL);
dst = skb_put(skb, len); dst = skb_put_data(skb, pcffrm, len);
memcpy(dst, pcffrm, len);
skb->protocol = htons(ETH_P_CAIF); skb->protocol = htons(ETH_P_CAIF);
skb_reset_mac_header(skb); skb_reset_mac_header(skb);

View File

@ -198,8 +198,7 @@ static void ldisc_receive(struct tty_struct *tty, const u8 *data,
skb = netdev_alloc_skb(ser->dev, count+1); skb = netdev_alloc_skb(ser->dev, count+1);
if (skb == NULL) if (skb == NULL)
return; return;
p = skb_put(skb, count); p = skb_put_data(skb, data, count);
memcpy(p, data, count);
skb->protocol = htons(ETH_P_CAIF); skb->protocol = htons(ETH_P_CAIF);
skb_reset_mac_header(skb); skb_reset_mac_header(skb);

View File

@ -548,8 +548,7 @@ int cfspi_rxfrm(struct cfspi *cfspi, u8 *buf, size_t len)
skb = netdev_alloc_skb(cfspi->ndev, pkt_len + 1); skb = netdev_alloc_skb(cfspi->ndev, pkt_len + 1);
caif_assert(skb != NULL); caif_assert(skb != NULL);
dst = skb_put(skb, pkt_len); dst = skb_put_data(skb, src, pkt_len);
memcpy(dst, src, pkt_len);
src += pkt_len; src += pkt_len;
skb->protocol = htons(ETH_P_CAIF); skb->protocol = htons(ETH_P_CAIF);

View File

@ -242,7 +242,7 @@ static struct sk_buff *cfv_alloc_and_copy_skb(int *err,
skb_reserve(skb, cfv->rx_hr + pad_len); skb_reserve(skb, cfv->rx_hr + pad_len);
memcpy(skb_put(skb, cfpkt_len), frm + cfv->rx_hr, cfpkt_len); skb_put_data(skb, frm + cfv->rx_hr, cfpkt_len);
return skb; return skb;
} }

View File

@ -216,8 +216,7 @@ static void slc_bump(struct slcan *sl)
can_skb_prv(skb)->ifindex = sl->dev->ifindex; can_skb_prv(skb)->ifindex = sl->dev->ifindex;
can_skb_prv(skb)->skbcnt = 0; can_skb_prv(skb)->skbcnt = 0;
memcpy(skb_put(skb, sizeof(struct can_frame)), skb_put_data(skb, &cf, sizeof(struct can_frame));
&cf, sizeof(struct can_frame));
sl->dev->stats.rx_packets++; sl->dev->stats.rx_packets++;
sl->dev->stats.rx_bytes += cf.can_dlc; sl->dev->stats.rx_bytes += cf.can_dlc;

View File

@ -1370,9 +1370,9 @@ static int boomerang_rx(struct net_device *dev)
(skb = netdev_alloc_skb(dev, pkt_len + 4)) != NULL) { (skb = netdev_alloc_skb(dev, pkt_len + 4)) != NULL) {
skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
/* 'skb_put()' points to the start of sk_buff data area. */ /* 'skb_put()' points to the start of sk_buff data area. */
memcpy(skb_put(skb, pkt_len), skb_put_data(skb,
isa_bus_to_virt(vp->rx_ring[entry]. isa_bus_to_virt(vp->rx_ring[entry].addr),
addr), pkt_len); pkt_len);
rx_copy++; rx_copy++;
} else { } else {
void *temp; void *temp;

View File

@ -2628,9 +2628,8 @@ boomerang_rx(struct net_device *dev)
skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
pci_dma_sync_single_for_cpu(VORTEX_PCI(vp), dma, PKT_BUF_SZ, PCI_DMA_FROMDEVICE); pci_dma_sync_single_for_cpu(VORTEX_PCI(vp), dma, PKT_BUF_SZ, PCI_DMA_FROMDEVICE);
/* 'skb_put()' points to the start of sk_buff data area. */ /* 'skb_put()' points to the start of sk_buff data area. */
memcpy(skb_put(skb, pkt_len), skb_put_data(skb, vp->rx_skbuff[entry]->data,
vp->rx_skbuff[entry]->data, pkt_len);
pkt_len);
pci_dma_sync_single_for_device(VORTEX_PCI(vp), dma, PKT_BUF_SZ, PCI_DMA_FROMDEVICE); pci_dma_sync_single_for_device(VORTEX_PCI(vp), dma, PKT_BUF_SZ, PCI_DMA_FROMDEVICE);
vp->rx_copy++; vp->rx_copy++;
} else { } else {

View File

@ -807,7 +807,8 @@ static int greth_rx(struct net_device *dev, int limit)
if (netif_msg_pktdata(greth)) if (netif_msg_pktdata(greth))
greth_print_rx_packet(phys_to_virt(dma_addr), pkt_len); greth_print_rx_packet(phys_to_virt(dma_addr), pkt_len);
memcpy(skb_put(skb, pkt_len), phys_to_virt(dma_addr), pkt_len); skb_put_data(skb, phys_to_virt(dma_addr),
pkt_len);
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);
dev->stats.rx_bytes += pkt_len; dev->stats.rx_bytes += pkt_len;

View File

@ -2282,7 +2282,7 @@ static struct rfd *nic_rx_pkts(struct et131x_adapter *adapter)
adapter->netdev->stats.rx_bytes += rfd->len; adapter->netdev->stats.rx_bytes += rfd->len;
memcpy(skb_put(skb, rfd->len), fbr->virt[buff_index], rfd->len); skb_put_data(skb, fbr->virt[buff_index], rfd->len);
skb->protocol = eth_type_trans(skb, adapter->netdev); skb->protocol = eth_type_trans(skb, adapter->netdev);
skb->ip_summed = CHECKSUM_NONE; skb->ip_summed = CHECKSUM_NONE;

View File

@ -663,7 +663,7 @@ static void mace_dma_rx_frame(struct net_device *dev, struct mace_frame *mf)
return; return;
} }
skb_reserve(skb, 2); skb_reserve(skb, 2);
memcpy(skb_put(skb, frame_length), mf->data, frame_length); skb_put_data(skb, mf->data, frame_length);
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);
netif_rx(skb); netif_rx(skb);

View File

@ -251,7 +251,7 @@ static void nb8800_receive(struct net_device *dev, unsigned int i,
if (len <= RX_COPYBREAK) { if (len <= RX_COPYBREAK) {
dma_sync_single_for_cpu(&dev->dev, dma, len, DMA_FROM_DEVICE); dma_sync_single_for_cpu(&dev->dev, dma, len, DMA_FROM_DEVICE);
memcpy(skb_put(skb, len), data, len); skb_put_data(skb, data, len);
dma_sync_single_for_device(&dev->dev, dma, len, dma_sync_single_for_device(&dev->dev, dma, len,
DMA_FROM_DEVICE); DMA_FROM_DEVICE);
} else { } else {
@ -264,7 +264,7 @@ static void nb8800_receive(struct net_device *dev, unsigned int i,
} }
dma_unmap_page(&dev->dev, dma, RX_BUF_SIZE, DMA_FROM_DEVICE); dma_unmap_page(&dev->dev, dma, RX_BUF_SIZE, DMA_FROM_DEVICE);
memcpy(skb_put(skb, RX_COPYHDR), data, RX_COPYHDR); skb_put_data(skb, data, RX_COPYHDR);
skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page, skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page,
offset + RX_COPYHDR, len - RX_COPYHDR, offset + RX_COPYHDR, len - RX_COPYHDR,
RX_BUF_SIZE); RX_BUF_SIZE);

View File

@ -2992,7 +2992,7 @@ static void at91ether_rx(struct net_device *dev)
skb = netdev_alloc_skb(dev, pktlen + 2); skb = netdev_alloc_skb(dev, pktlen + 2);
if (skb) { if (skb) {
skb_reserve(skb, 2); skb_reserve(skb, 2);
memcpy(skb_put(skb, pktlen), p_recv, pktlen); skb_put_data(skb, p_recv, pktlen);
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);
dev->stats.rx_packets++; dev->stats.rx_packets++;

View File

@ -443,8 +443,8 @@ static inline void octeon_fast_packet_next(struct octeon_droq *droq,
int copy_len, int copy_len,
int idx) int idx)
{ {
memcpy(skb_put(nicbuf, copy_len), skb_put_data(nicbuf, get_rbd(droq->recv_buf_list[idx].buffer),
get_rbd(droq->recv_buf_list[idx].buffer), copy_len); copy_len);
} }
/** /**

View File

@ -450,11 +450,10 @@ dma_rx(struct net_device *dev)
if (bp + length > lp->end_dma_buff) { if (bp + length > lp->end_dma_buff) {
int semi_cnt = lp->end_dma_buff - bp; int semi_cnt = lp->end_dma_buff - bp;
memcpy(skb_put(skb, semi_cnt), bp, semi_cnt); skb_put_data(skb, bp, semi_cnt);
memcpy(skb_put(skb, length - semi_cnt), lp->dma_buff, skb_put_data(skb, lp->dma_buff, length - semi_cnt);
length - semi_cnt);
} else { } else {
memcpy(skb_put(skb, length), bp, length); skb_put_data(skb, bp, length);
} }
bp += (length + 3) & ~3; bp += (length + 3) & ~3;
if (bp >= lp->end_dma_buff) if (bp >= lp->end_dma_buff)

View File

@ -3624,10 +3624,10 @@ de4x5_alloc_rx_buff(struct net_device *dev, int index, int len)
skb_reserve(p, 2); /* Align */ skb_reserve(p, 2); /* Align */
if (index < lp->rx_old) { /* Wrapped buffer */ if (index < lp->rx_old) { /* Wrapped buffer */
short tlen = (lp->rxRingSize - lp->rx_old) * RX_BUFF_SZ; short tlen = (lp->rxRingSize - lp->rx_old) * RX_BUFF_SZ;
memcpy(skb_put(p,tlen),lp->rx_bufs + lp->rx_old * RX_BUFF_SZ,tlen); skb_put_data(p, lp->rx_bufs + lp->rx_old * RX_BUFF_SZ, tlen);
memcpy(skb_put(p,len-tlen),lp->rx_bufs,len-tlen); skb_put_data(p, lp->rx_bufs, len - tlen);
} else { /* Linear buffer */ } else { /* Linear buffer */
memcpy(skb_put(p,len),lp->rx_bufs + lp->rx_old * RX_BUFF_SZ,len); skb_put_data(p, lp->rx_bufs + lp->rx_old * RX_BUFF_SZ, len);
} }
return p; return p;

View File

@ -218,9 +218,9 @@ int tulip_poll(struct napi_struct *napi, int budget)
pkt_len); pkt_len);
skb_put(skb, pkt_len); skb_put(skb, pkt_len);
#else #else
memcpy(skb_put(skb, pkt_len), skb_put_data(skb,
tp->rx_buffers[entry].skb->data, tp->rx_buffers[entry].skb->data,
pkt_len); pkt_len);
#endif #endif
pci_dma_sync_single_for_device(tp->pdev, pci_dma_sync_single_for_device(tp->pdev,
tp->rx_buffers[entry].mapping, tp->rx_buffers[entry].mapping,
@ -444,9 +444,9 @@ static int tulip_rx(struct net_device *dev)
pkt_len); pkt_len);
skb_put(skb, pkt_len); skb_put(skb, pkt_len);
#else #else
memcpy(skb_put(skb, pkt_len), skb_put_data(skb,
tp->rx_buffers[entry].skb->data, tp->rx_buffers[entry].skb->data,
pkt_len); pkt_len);
#endif #endif
pci_dma_sync_single_for_device(tp->pdev, pci_dma_sync_single_for_device(tp->pdev,
tp->rx_buffers[entry].mapping, tp->rx_buffers[entry].mapping,

View File

@ -864,9 +864,9 @@ static void uli526x_rx_packet(struct net_device *dev, struct uli526x_board_info
skb = new_skb; skb = new_skb;
/* size less than COPY_SIZE, allocate a rxlen SKB */ /* size less than COPY_SIZE, allocate a rxlen SKB */
skb_reserve(skb, 2); /* 16byte align */ skb_reserve(skb, 2); /* 16byte align */
memcpy(skb_put(skb, rxlen), skb_put_data(skb,
skb_tail_pointer(rxptr->rx_skb_ptr), skb_tail_pointer(rxptr->rx_skb_ptr),
rxlen); rxlen);
uli526x_reuse_skb(db, rxptr->rx_skb_ptr); uli526x_reuse_skb(db, rxptr->rx_skb_ptr);
} else } else
skb_put(skb, rxlen); skb_put(skb, rxlen);

View File

@ -223,7 +223,7 @@ static void ec_bhf_process_rx(struct ec_bhf_priv *priv)
skb = netdev_alloc_skb_ip_align(priv->net_dev, pkt_size); skb = netdev_alloc_skb_ip_align(priv->net_dev, pkt_size);
if (skb) { if (skb) {
memcpy(skb_put(skb, pkt_size), data, pkt_size); skb_put_data(skb, data, pkt_size);
skb->protocol = eth_type_trans(skb, priv->net_dev); skb->protocol = eth_type_trans(skb, priv->net_dev);
priv->stat_rx_bytes += pkt_size; priv->stat_rx_bytes += pkt_size;

View File

@ -1711,8 +1711,8 @@ static int netdev_rx(struct net_device *dev)
np->cur_rx->skbuff->data, pkt_len); np->cur_rx->skbuff->data, pkt_len);
skb_put(skb, pkt_len); skb_put(skb, pkt_len);
#else #else
memcpy(skb_put(skb, pkt_len), skb_put_data(skb, np->cur_rx->skbuff->data,
np->cur_rx->skbuff->data, pkt_len); pkt_len);
#endif #endif
pci_dma_sync_single_for_device(np->pci_dev, pci_dma_sync_single_for_device(np->pci_dev,
np->cur_rx->buffer, np->cur_rx->buffer,

View File

@ -809,7 +809,8 @@ static inline int i596_rx(struct net_device *dev)
if (!rx_in_place) { if (!rx_in_place) {
/* 16 byte align the data fields */ /* 16 byte align the data fields */
skb_reserve(skb, 2); skb_reserve(skb, 2);
memcpy(skb_put(skb,pkt_len), rbd->v_data, pkt_len); skb_put_data(skb, rbd->v_data,
pkt_len);
} }
skb->protocol=eth_type_trans(skb,dev); skb->protocol=eth_type_trans(skb,dev);
skb->len = pkt_len; skb->len = pkt_len;

View File

@ -727,7 +727,8 @@ static inline int i596_rx(struct net_device *dev)
dma_sync_single_for_cpu(dev->dev.parent, dma_sync_single_for_cpu(dev->dev.parent,
(dma_addr_t)SWAP32(rbd->b_data), (dma_addr_t)SWAP32(rbd->b_data),
PKT_BUF_SZ, DMA_FROM_DEVICE); PKT_BUF_SZ, DMA_FROM_DEVICE);
memcpy(skb_put(skb, pkt_len), rbd->v_data, pkt_len); skb_put_data(skb, rbd->v_data,
pkt_len);
dma_sync_single_for_device(dev->dev.parent, dma_sync_single_for_device(dev->dev.parent,
(dma_addr_t)SWAP32(rbd->b_data), (dma_addr_t)SWAP32(rbd->b_data),
PKT_BUF_SZ, DMA_FROM_DEVICE); PKT_BUF_SZ, DMA_FROM_DEVICE);

View File

@ -4345,7 +4345,7 @@ static struct sk_buff *e1000_copybreak(struct e1000_adapter *adapter,
dma_sync_single_for_cpu(&adapter->pdev->dev, buffer_info->dma, dma_sync_single_for_cpu(&adapter->pdev->dev, buffer_info->dma,
length, DMA_FROM_DEVICE); length, DMA_FROM_DEVICE);
memcpy(skb_put(skb, length), data, length); skb_put_data(skb, data, length);
return skb; return skb;
} }

View File

@ -1976,9 +1976,8 @@ static int mvneta_rx_swbm(struct mvneta_port *pp, int rx_todo,
MVNETA_MH_SIZE + NET_SKB_PAD, MVNETA_MH_SIZE + NET_SKB_PAD,
rx_bytes, rx_bytes,
DMA_FROM_DEVICE); DMA_FROM_DEVICE);
memcpy(skb_put(skb, rx_bytes), skb_put_data(skb, data + MVNETA_MH_SIZE + NET_SKB_PAD,
data + MVNETA_MH_SIZE + NET_SKB_PAD, rx_bytes);
rx_bytes);
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);
mvneta_rx_csum(pp, rx_status, skb); mvneta_rx_csum(pp, rx_status, skb);
@ -2103,9 +2102,8 @@ static int mvneta_rx_hwbm(struct mvneta_port *pp, int rx_todo,
MVNETA_MH_SIZE + NET_SKB_PAD, MVNETA_MH_SIZE + NET_SKB_PAD,
rx_bytes, rx_bytes,
DMA_FROM_DEVICE); DMA_FROM_DEVICE);
memcpy(skb_put(skb, rx_bytes), skb_put_data(skb, data + MVNETA_MH_SIZE + NET_SKB_PAD,
data + MVNETA_MH_SIZE + NET_SKB_PAD, rx_bytes);
rx_bytes);
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);
mvneta_rx_csum(pp, rx_status, skb); mvneta_rx_csum(pp, rx_status, skb);

View File

@ -5020,8 +5020,7 @@ static inline int rx_proc(struct net_device *dev, struct ksz_hw* hw,
*/ */
skb_reserve(skb, 2); skb_reserve(skb, 2);
memcpy(skb_put(skb, packet_len), skb_put_data(skb, dma_buf->skb->data, packet_len);
dma_buf->skb->data, packet_len);
} while (0); } while (0);
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);

View File

@ -959,11 +959,10 @@ static int __lpc_handle_recv(struct net_device *ndev, int budget)
if (!skb) { if (!skb) {
ndev->stats.rx_dropped++; ndev->stats.rx_dropped++;
} else { } else {
prdbuf = skb_put(skb, len);
/* Copy packet from buffer */ /* Copy packet from buffer */
memcpy(prdbuf, pldat->rx_buff_v + prdbuf = skb_put_data(skb,
rxconsidx * ENET_MAXF_SIZE, len); pldat->rx_buff_v + rxconsidx * ENET_MAXF_SIZE,
len);
/* Pass to upper layer */ /* Pass to upper layer */
skb->protocol = eth_type_trans(skb, ndev); skb->protocol = eth_type_trans(skb, ndev);

View File

@ -1079,8 +1079,7 @@ static struct sk_buff *qede_rx_allocate_skb(struct qede_dev *edev,
* re-use the already allcoated & mapped memory. * re-use the already allcoated & mapped memory.
*/ */
if (len + pad <= edev->rx_copybreak) { if (len + pad <= edev->rx_copybreak) {
memcpy(skb_put(skb, len), skb_put_data(skb, page_address(page) + offset, len);
page_address(page) + offset, len);
qede_reuse_page(rxq, bd); qede_reuse_page(rxq, bd);
goto out; goto out;
} }

View File

@ -1577,7 +1577,7 @@ static void ql_process_mac_rx_page(struct ql_adapter *qdev,
rx_ring->rx_dropped++; rx_ring->rx_dropped++;
goto err_out; goto err_out;
} }
memcpy(skb_put(skb, hlen), addr, hlen); skb_put_data(skb, addr, hlen);
netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev, netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev,
"%d bytes of headers and data in large. Chain page to new skb and pull tail.\n", "%d bytes of headers and data in large. Chain page to new skb and pull tail.\n",
length); length);
@ -1654,7 +1654,7 @@ static void ql_process_mac_rx_skb(struct ql_adapter *qdev,
dma_unmap_len(sbq_desc, maplen), dma_unmap_len(sbq_desc, maplen),
PCI_DMA_FROMDEVICE); PCI_DMA_FROMDEVICE);
memcpy(skb_put(new_skb, length), skb->data, length); skb_put_data(new_skb, skb->data, length);
pci_dma_sync_single_for_device(qdev->pdev, pci_dma_sync_single_for_device(qdev->pdev,
dma_unmap_addr(sbq_desc, mapaddr), dma_unmap_addr(sbq_desc, mapaddr),
@ -1817,8 +1817,7 @@ static struct sk_buff *ql_build_rx_skb(struct ql_adapter *qdev,
dma_unmap_len dma_unmap_len
(sbq_desc, maplen), (sbq_desc, maplen),
PCI_DMA_FROMDEVICE); PCI_DMA_FROMDEVICE);
memcpy(skb_put(skb, length), skb_put_data(skb, sbq_desc->p.skb->data, length);
sbq_desc->p.skb->data, length);
pci_dma_sync_single_for_device(qdev->pdev, pci_dma_sync_single_for_device(qdev->pdev,
dma_unmap_addr dma_unmap_addr
(sbq_desc, (sbq_desc,

View File

@ -795,12 +795,12 @@ static void _sc92031_rx_tasklet(struct net_device *dev)
} }
if ((rx_ring_offset + pkt_size) > RX_BUF_LEN) { if ((rx_ring_offset + pkt_size) > RX_BUF_LEN) {
memcpy(skb_put(skb, RX_BUF_LEN - rx_ring_offset), skb_put_data(skb, rx_ring + rx_ring_offset,
rx_ring + rx_ring_offset, RX_BUF_LEN - rx_ring_offset); RX_BUF_LEN - rx_ring_offset);
memcpy(skb_put(skb, pkt_size - (RX_BUF_LEN - rx_ring_offset)), skb_put_data(skb, rx_ring,
rx_ring, pkt_size - (RX_BUF_LEN - rx_ring_offset)); pkt_size - (RX_BUF_LEN - rx_ring_offset));
} else { } else {
memcpy(skb_put(skb, pkt_size), rx_ring + rx_ring_offset, pkt_size); skb_put_data(skb, rx_ring + rx_ring_offset, pkt_size);
} }
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);

View File

@ -1156,8 +1156,7 @@ static int fjes_poll(struct napi_struct *napi, int budget)
hw->ep_shm_info[cur_epid].net_stats hw->ep_shm_info[cur_epid].net_stats
.rx_errors += 1; .rx_errors += 1;
} else { } else {
memcpy(skb_put(skb, frame_len), skb_put_data(skb, frame, frame_len);
frame, frame_len);
skb->protocol = eth_type_trans(skb, netdev); skb->protocol = eth_type_trans(skb, netdev);
skb->ip_summed = CHECKSUM_UNNECESSARY; skb->ip_summed = CHECKSUM_UNNECESSARY;

View File

@ -298,7 +298,7 @@ static void ax_bump(struct mkiss *ax)
return; return;
} }
memcpy(skb_put(skb,count), ax->rbuff, count); skb_put_data(skb, ax->rbuff, count);
skb->protocol = ax25_type_trans(skb, ax->dev); skb->protocol = ax25_type_trans(skb, ax->dev);
netif_rx(skb); netif_rx(skb);
ax->dev->stats.rx_packets++; ax->dev->stats.rx_packets++;

View File

@ -962,8 +962,8 @@ static void rx_int(struct net_device *dev, u32 rxlimit, u32 index)
pkt_len, pkt_len,
PCI_DMA_FROMDEVICE); PCI_DMA_FROMDEVICE);
memcpy(skb_put(skb, pkt_len), skb_put_data(skb, rx_skb->data,
rx_skb->data, pkt_len); pkt_len);
pci_dma_sync_single_for_device(rrpriv->pci_dev, pci_dma_sync_single_for_device(rrpriv->pci_dev,
desc->addr.addrlo, desc->addr.addrlo,

View File

@ -593,7 +593,7 @@ static struct sk_buff *netvsc_alloc_recv_skb(struct net_device *net,
* Copy to skb. This copy is needed here since the memory pointed by * Copy to skb. This copy is needed here since the memory pointed by
* hv_netvsc_packet cannot be deallocated * hv_netvsc_packet cannot be deallocated
*/ */
memcpy(skb_put(skb, buflen), data, buflen); skb_put_data(skb, data, buflen);
skb->protocol = eth_type_trans(skb, net); skb->protocol = eth_type_trans(skb, net);

View File

@ -723,7 +723,7 @@ at86rf230_rx_read_frame_complete(void *context)
return; return;
} }
memcpy(skb_put(skb, len), buf + 2, len); skb_put_data(skb, buf + 2, len);
ieee802154_rx_irqsafe(lp->hw, skb, lqi); ieee802154_rx_irqsafe(lp->hw, skb, lqi);
kfree(ctx); kfree(ctx);
} }

View File

@ -1875,7 +1875,7 @@ static int ca8210_skb_rx(
copy_payload: copy_payload:
/* Add <msdulen> bytes of space to the back of the buffer */ /* Add <msdulen> bytes of space to the back of the buffer */
/* Copy msdu to skb */ /* Copy msdu to skb */
memcpy(skb_put(skb, msdulen), &data_ind[29], msdulen); skb_put_data(skb, &data_ind[29], msdulen);
ieee802154_rx_irqsafe(hw, skb, mpdulinkquality); ieee802154_rx_irqsafe(hw, skb, mpdulinkquality);
return 0; return 0;

View File

@ -774,7 +774,7 @@ static void mrf24j40_handle_rx_read_buf_complete(void *context)
return; return;
} }
memcpy(skb_put(skb, len), rx_local_buf, len); skb_put_data(skb, rx_local_buf, len);
ieee802154_rx_irqsafe(devrec->hw, skb, 0); ieee802154_rx_irqsafe(devrec->hw, skb, 0);
#ifdef DEBUG #ifdef DEBUG

View File

@ -1459,7 +1459,7 @@ static void smsc_ircc_dma_receive_complete(struct smsc_ircc_cb *self)
/* Make sure IP header gets aligned */ /* Make sure IP header gets aligned */
skb_reserve(skb, 1); skb_reserve(skb, 1);
memcpy(skb_put(skb, len), self->rx_buff.data, len); skb_put_data(skb, self->rx_buff.data, len);
self->netdev->stats.rx_packets++; self->netdev->stats.rx_packets++;
self->netdev->stats.rx_bytes += len; self->netdev->stats.rx_bytes += len;

View File

@ -578,7 +578,7 @@ static int vlsi_process_rx(struct vlsi_ring *r, struct ring_descr *rd)
skb = rd->skb; skb = rd->skb;
rd->skb = NULL; rd->skb = NULL;
skb->dev = ndev; skb->dev = ndev;
memcpy(skb_put(skb,len), rd->buf, len); skb_put_data(skb, rd->buf, len);
skb_reset_mac_header(skb); skb_reset_mac_header(skb);
if (in_interrupt()) if (in_interrupt())
netif_rx(skb); netif_rx(skb);

View File

@ -894,8 +894,7 @@ ppp_async_input(struct asyncppp *ap, const unsigned char *buf,
/* packet overflowed MRU */ /* packet overflowed MRU */
ap->state |= SC_TOSS; ap->state |= SC_TOSS;
} else { } else {
sp = skb_put(skb, n); sp = skb_put_data(skb, buf, n);
memcpy(sp, buf, n);
if (ap->state & SC_ESCAPE) { if (ap->state & SC_ESCAPE) {
sp[0] ^= PPP_TRANS; sp[0] ^= PPP_TRANS;
ap->state &= ~SC_ESCAPE; ap->state &= ~SC_ESCAPE;

View File

@ -697,8 +697,7 @@ ppp_sync_input(struct syncppp *ap, const unsigned char *buf,
goto err; goto err;
} }
p = skb_put(skb, count); p = skb_put_data(skb, buf, count);
memcpy(p, buf, count);
/* strip address/control field if present */ /* strip address/control field if present */
p = skb->data; p = skb->data;

View File

@ -364,7 +364,7 @@ static void sl_bump(struct slip *sl)
return; return;
} }
skb->dev = dev; skb->dev = dev;
memcpy(skb_put(skb, count), sl->rbuff, count); skb_put_data(skb, sl->rbuff, count);
skb_reset_mac_header(skb); skb_reset_mac_header(skb);
skb->protocol = htons(ETH_P_IP); skb->protocol = htons(ETH_P_IP);
netif_rx_ni(skb); netif_rx_ni(skb);

Some files were not shown because too many files have changed in this diff Show More