net: add skb frag size accessors
To ease skb->truesize sanitization, its better to be able to localize all references to skb frags size. Define accessors : skb_frag_size() to fetch frag size, and skb_frag_size_{set|add|sub}() to manipulate it. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Этот коммит содержится в:

коммит произвёл
David S. Miller

родитель
dd767856a3
Коммит
9e903e0852
@@ -777,12 +777,12 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||
entry = NEXT_TX(entry);
|
||||
|
||||
for (frag = 0; frag < skb_shinfo(skb)->nr_frags; frag++) {
|
||||
skb_frag_t *this_frag = &skb_shinfo(skb)->frags[frag];
|
||||
const skb_frag_t *this_frag = &skb_shinfo(skb)->frags[frag];
|
||||
u32 len;
|
||||
u32 ctrl;
|
||||
dma_addr_t mapping;
|
||||
|
||||
len = this_frag->size;
|
||||
len = skb_frag_size(this_frag);
|
||||
mapping = dma_map_single(&cp->pdev->dev,
|
||||
skb_frag_address(this_frag),
|
||||
len, PCI_DMA_TODEVICE);
|
||||
|
@@ -5413,7 +5413,7 @@ static int rtl8169_xmit_frags(struct rtl8169_private *tp, struct sk_buff *skb,
|
||||
|
||||
entry = tp->cur_tx;
|
||||
for (cur_frag = 0; cur_frag < info->nr_frags; cur_frag++) {
|
||||
skb_frag_t *frag = info->frags + cur_frag;
|
||||
const skb_frag_t *frag = info->frags + cur_frag;
|
||||
dma_addr_t mapping;
|
||||
u32 status, len;
|
||||
void *addr;
|
||||
@@ -5421,7 +5421,7 @@ static int rtl8169_xmit_frags(struct rtl8169_private *tp, struct sk_buff *skb,
|
||||
entry = (entry + 1) % NUM_TX_DESC;
|
||||
|
||||
txd = tp->TxDescArray + entry;
|
||||
len = frag->size;
|
||||
len = skb_frag_size(frag);
|
||||
addr = skb_frag_address(frag);
|
||||
mapping = dma_map_single(d, addr, len, DMA_TO_DEVICE);
|
||||
if (unlikely(dma_mapping_error(d, mapping))) {
|
||||
|
Ссылка в новой задаче
Block a user