diff options
| author | Jason Baron <[email protected]> | 2025-09-22 19:19:57 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2025-09-23 23:51:26 +0000 |
| commit | ca9f9cdc4de97d0221100b11224738416696163c (patch) | |
| tree | d9539c5bf85b24d21fcaaa25a32d23e392b4c12a /drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c | |
| parent | Merge tag 'linux-can-fixes-for-6.17-20250923' of git://git.kernel.org/pub/scm... (diff) | |
| download | kernel-ca9f9cdc4de97d0221100b11224738416696163c.tar.gz kernel-ca9f9cdc4de97d0221100b11224738416696163c.zip | |
net: allow alloc_skb_with_frags() to use MAX_SKB_FRAGS
Currently, alloc_skb_with_frags() will only fill (MAX_SKB_FRAGS - 1)
slots. I think it should use all MAX_SKB_FRAGS slots, as callers of
alloc_skb_with_frags() will size their allocation of frags based
on MAX_SKB_FRAGS.
This issue was discovered via a test patch that sets 'order' to 0
in alloc_skb_with_frags(), which effectively tests/simulates high
fragmentation. In this case sendmsg() on unix sockets will fail every
time for large allocations. If the PAGE_SIZE is 4K, then data_len will
request 68K or 17 pages, but alloc_skb_with_frags() can only allocate
64K in this case or 16 pages.
Fixes: 09c2c90705bb ("net: allow alloc_skb_with_frags() to allocate bigger packets")
Signed-off-by: Jason Baron <[email protected]>
Reviewed-by: Eric Dumazet <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c')
0 files changed, 0 insertions, 0 deletions
