Re: [PATCH 1/1] net: tun: add XDP metadata support
From: Willem de Bruijn
Date: Sun Feb 02 2025 - 20:40:01 EST
> > >> + metasize = metasize > 0 ? metasize : 0;
> > >
> > > Why is this part needed?
> >
> > When an xdp_buff was initialized withouth metadata support (meta_valid
> > argument of xdp_prepare_buff is false), then data_meta == data + 1.
> > So this check makes sure that metadata was supported for the given xdp_buff
> > and metasize is not -1 (data - data_meta).
> >
> > But you have a good point here: Because we have control over the
> > initialization of xdp_buff in the tun_build_skb function (first code path),
> > we know, that metadata is always supported for that buffer and metasize
> > is never < 0. So this check is redundant and I'll remove it.
> >
> > But in the tun_xdp_one function (second code path), I'd prefer to keep that
> > check, as the xdp_buff is externally passed to tun_sendmsg and the tun driver
> > should probably not make assumptions about the metadata support of buffers
> > created by other drivers (e.g. vhost_net).
> >
> > Thank you for taking a look, I hope things are more clear now.
>
> Please use min()
>
Err.. max.