Commit 44ac082b authored by Björn Töpel's avatar Björn Töpel Committed by Alexei Starovoitov

xsk: Fix xsk_umem_xdp_frame_sz()

Calculating the "data_hard_end" for an XDP buffer coming from AF_XDP
zero-copy mode, the return value of xsk_umem_xdp_frame_sz() is added
to "data_hard_start".

Currently, the chunk size of the UMEM is returned by
xsk_umem_xdp_frame_sz(). This is not correct, if the fixed UMEM
headroom is non-zero. Fix this by returning the chunk_size without the
UMEM headroom.

Fixes: 2a637c5b ("xdp: For Intel AF_XDP drivers add XDP frame_sz")
Signed-off-by: default avatarBjörn Töpel <bjorn.topel@intel.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200520192103.355233-2-bjorn.topel@gmail.com
parent dda18a5c
...@@ -239,7 +239,7 @@ static inline u64 xsk_umem_adjust_offset(struct xdp_umem *umem, u64 address, ...@@ -239,7 +239,7 @@ static inline u64 xsk_umem_adjust_offset(struct xdp_umem *umem, u64 address,
static inline u32 xsk_umem_xdp_frame_sz(struct xdp_umem *umem) static inline u32 xsk_umem_xdp_frame_sz(struct xdp_umem *umem)
{ {
return umem->chunk_size_nohr + umem->headroom; return umem->chunk_size_nohr;
} }
#else #else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment