[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJ8uoz0W1KzYxDzbRk1U3JDr1dgqyS5Da+EFgVrn64-sMeQrJw@mail.gmail.com>
Date: Tue, 22 Apr 2025 11:53:41 +0200
From: Magnus Karlsson <magnus.karlsson@...il.com>
To: "e.kubanski" <e.kubanski@...tner.samsung.com>
Cc: linux-kernel@...r.kernel.org, netdev@...r.kernel.org, bjorn@...nel.org,
magnus.karlsson@...el.com, maciej.fijalkowski@...el.com,
jonathan.lemon@...il.com
Subject: Re: [PATCH v2 bpf] xsk: Fix offset calculation in unaligned mode
On Wed, 16 Apr 2025 at 13:30, e.kubanski <e.kubanski@...tner.samsung.com> wrote:
>
> Bring back previous offset calculation behaviour
> in AF_XDP unaligned umem mode.
>
> In unaligned mode, upper 16 bits should contain
> data offset, lower 48 bits should contain
> only specific chunk location without offset.
>
> Remove pool->headroom duplication into 48bit address.
Thanks Eryk.
Acked-by: Magnus Karlsson <magnus.karlsson@...el.com>
> Signed-off-by: Eryk Kubanski <e.kubanski@...tner.samsung.com>
> Fixes: bea14124bacb ("xsk: Get rid of xdp_buff_xsk::orig_addr")
> ---
> include/net/xsk_buff_pool.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/net/xsk_buff_pool.h b/include/net/xsk_buff_pool.h
> index 7f0a75d6563d..b3699a848844 100644
> --- a/include/net/xsk_buff_pool.h
> +++ b/include/net/xsk_buff_pool.h
> @@ -232,8 +232,8 @@ static inline u64 xp_get_handle(struct xdp_buff_xsk *xskb,
> return orig_addr;
>
> offset = xskb->xdp.data - xskb->xdp.data_hard_start;
> - orig_addr -= offset;
> offset += pool->headroom;
> + orig_addr -= offset;
> return orig_addr + (offset << XSK_UNALIGNED_BUF_OFFSET_SHIFT);
> }
>
> --
> 2.34.1
>
>
Powered by blists - more mailing lists