On Tue, Feb 24, 2026 at 05:54:54PM +0000, Simon Horman wrote:
> On Mon, Feb 23, 2026 at 10:52:13AM +0100, Larysa Zaremba wrote:
> 
> ...
> 
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h 
> > b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
> > index eada53c57fcf..67d10e6e9910 100644
> > --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
> > +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
> > @@ -82,20 +82,22 @@ struct ixgbevf_ring {
> >     struct net_device *netdev;
> >     struct bpf_prog *xdp_prog;
> 
> ...
> 
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c 
> > b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> 
> ...
> 
> > @@ -784,11 +865,19 @@ static int ixgbevf_clean_rx_irq(struct 
> > ixgbevf_q_vector *q_vector,
> >     unsigned int total_rx_bytes = 0, total_rx_packets = 0;
> >     struct ixgbevf_adapter *adapter = q_vector->adapter;
> >     u16 cleaned_count = ixgbevf_desc_unused(rx_ring);
> > +   LIBETH_XDP_ONSTACK_BULK(xdp_tx_bulk);
> >     LIBETH_XDP_ONSTACK_BUFF(xdp);
> > +   u32 cached_ntu;
> >     bool xdp_xmit = false;
> >     int xdp_res = 0;
> >  
> >     libeth_xdp_init_buff(xdp, &rx_ring->xdp_stash, &rx_ring->xdp_rxq);
> > +   libeth_xdp_tx_init_bulk(&xdp_tx_bulk, rx_ring->xdp_prog,
> > +                           adapter->netdev, adapter->xdp_ring,
> > +                           adapter->num_xdp_queues);
> 
> Hi Larysa,
> 
> Sparse flags that libeth_xdp_tx_init_bulk() expects xdp_prog to be managed
> using __rcu, but that is not the case for rx_ring->xdp_prog.
> 
>   .../ixgbevf_main.c:875:9: error: incompatible types in comparison 
> expression (different address spaces):
>   .../ixgbevf_main.c:875:9:    struct bpf_prog [noderef] __rcu *
>   .../ixgbevf_main.c:875:9:    struct bpf_prog *
> 
> ...

You are right, will fix this.

Reply via email to