Messages in this thread | ![/](/images/icornerl.gif) | | From | Kumar Kartikeya Dwivedi <> | Date | Tue, 30 Apr 2024 14:52:35 +0200 | Subject | Re: [PATCH bpf-next v3 2/3] bpf: do not walk twice the hash map on free |
| |
On Tue, 30 Apr 2024 at 12:44, Benjamin Tissoires <bentiss@kernel.org> wrote: > > If someone stores both a timer and a workqueue in a hash map, on free, we > would walk it twice. > Add a check in htab_free_malloced_timers_or_wq and free the timers > and workqueues if they are present. > > Fixes: 246331e3f1ea ("bpf: allow struct bpf_wq to be embedded in arraymaps and hashmaps") > Signed-off-by: Benjamin Tissoires <bentiss@kernel.org> > > ---
I had forgotten how the extra_elems logic is working, turns out everything is in the preallocated elems array and per-cpu extra_elems stores the *pointer* to them for recycling without hitting the pcpu allocator, so should be fine (just in case this confuses anyone else).
> > changes in v3: > - fix unloading of bpf_wq, again > > changes in v2: > - fix wq being not freed (and static call not used) > ---
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
| ![\](/images/icornerr.gif) |