summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2026-09-29 15:41:34 +0200
committerPaolo Abeni <pabeni@redhat.com>2026-09-29 15:41:35 +0200
commit6e23f90f2b8c3ea3bf904f86f3ed06bf2844b4bc (patch)
tree834c0e57399a3a4fe6783314d87324f7800b2f51 /include/linux
parent63f028c4dd73720b313b390558920e303205670e (diff)
parent5c729e6c71f1be48b5afb99326a6b687e3600c67 (diff)
Merge branch 'net-consolidate-devmem-net_iov-freelist-and-dma-handling'
Stanislav Fomichev says: ==================== net: consolidate devmem net_iov freelist and DMA handling Follow up on the recently merged devmem gen_pool removal by consolidating devmem's net_iov freelist and DMA-address handling. - move devmem freelist to index-based approach with push/pop helpers - switch devmem to public memory-provider helpers and reject DMA addresses that cannot be represented - decode stored DMA addresses for TX on 32-bit systems with 64-bit dma_addr_t ==================== Link: https://patch.msgid.link/20260925201522.254717-1-sdf@fomichev.me Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/skbuff.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 84308498a3a8..38b7d7389452 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -3816,9 +3816,12 @@ static inline dma_addr_t __skb_frag_dma_map(struct device *dev,
size_t offset, size_t size,
enum dma_data_direction dir)
{
+ dma_addr_t addr;
+
if (skb_frag_is_net_iov(frag)) {
- return netmem_to_net_iov(frag->netmem)->desc.dma_addr +
- offset + frag->offset;
+ addr = netmem_dma_addr_decode(
+ netmem_get_dma_addr(frag->netmem));
+ return addr + offset + frag->offset;
}
return dma_map_page(dev, skb_frag_page(frag),
skb_frag_off(frag) + offset, size, dir);