[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200626094934.49f9a94e@carbon>
Date: Fri, 26 Jun 2020 09:49:34 +0200
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: Daniel Borkmann <daniel@...earbox.net>
Cc: Lorenzo Bianconi <lorenzo@...nel.org>, netdev@...r.kernel.org,
bpf@...r.kernel.org, davem@...emloft.net, ast@...nel.org,
toke@...hat.com, lorenzo.bianconi@...hat.com, dsahern@...nel.org,
andrii.nakryiko@...il.com, brouer@...hat.com
Subject: Re: [PATCH v4 bpf-next 6/9] bpf: cpumap: implement XDP_REDIRECT for
eBPF programs attached to map entries
On Thu, 25 Jun 2020 23:28:59 +0200
Daniel Borkmann <daniel@...earbox.net> wrote:
> > @@ -276,7 +286,10 @@ static int cpu_map_bpf_prog_run_xdp(struct bpf_cpu_map_entry *rcpu,
> > }
> > }
> >
> > - rcu_read_unlock();
> > + if (stats->redirect)
> > + xdp_do_flush_map();
> > +
> > + rcu_read_unlock_bh(); /* resched point, may call do_softirq() */
> > xdp_clear_return_frame_no_direct();
>
> Hm, this looks incorrect. Why do you call the xdp_clear_return_frame_no_direct() /after/
> the possibility where there is a rescheduling point for softirq?
Good you caught this! - This needs to be fixed.
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
Powered by blists - more mailing lists