Message ID | e2e4cc0e-9d36-4ca1-9bfa-ce23e6f8310b@I-love.SAKURA.ne.jp (mailing list archive) |
---|---|
State | Accepted |
Commit | cf7de6a53600ea554a8358e44fbcf47b449235f9 |
Delegated to: | BPF |
Headers | show |
Series | bpf: add missing percpu_counter_destroy() in htab_map_alloc() | expand |
On 09/11, Tetsuo Handa wrote: > syzbot is reporting ODEBUG bug in htab_map_alloc() [1], for > commit 86fe28f7692d96d2 ("bpf: Optimize element count in non-preallocated > hash map.") added percpu_counter_init() to htab_map_alloc() but forgot to > add percpu_counter_destroy() to the error path. > Link: https://syzkaller.appspot.com/bug?extid=5d1da78b375c3b5e6c2b [1] > Reported-by: syzbot > <syzbot+5d1da78b375c3b5e6c2b@syzkaller.appspotmail.com> > Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Thanks! Reviewed-by: Stanislav Fomichev <sdf@google.com> > Fixes: 86fe28f7692d96d2 ("bpf: Optimize element count in non-preallocated > hash map.") > --- > kernel/bpf/hashtab.c | 2 ++ > 1 file changed, 2 insertions(+) > diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c > index 0fe3f136cbbe..86aec20c22d0 100644 > --- a/kernel/bpf/hashtab.c > +++ b/kernel/bpf/hashtab.c > @@ -622,6 +622,8 @@ static struct bpf_map *htab_map_alloc(union bpf_attr > *attr) > free_prealloc: > prealloc_destroy(htab); > free_map_locked: > + if (htab->use_percpu_counter) > + percpu_counter_destroy(&htab->pcount); > for (i = 0; i < HASHTAB_MAP_LOCK_COUNT; i++) > free_percpu(htab->map_locked[i]); > bpf_map_area_free(htab->buckets); > -- > 2.18.4
On Sat, Sep 10, 2022 at 8:08 AM Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> wrote: > > syzbot is reporting ODEBUG bug in htab_map_alloc() [1], for > commit 86fe28f7692d96d2 ("bpf: Optimize element count in non-preallocated > hash map.") added percpu_counter_init() to htab_map_alloc() but forgot to > add percpu_counter_destroy() to the error path. > > Link: https://syzkaller.appspot.com/bug?extid=5d1da78b375c3b5e6c2b [1] > Reported-by: syzbot <syzbot+5d1da78b375c3b5e6c2b@syzkaller.appspotmail.com> > Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> > Fixes: 86fe28f7692d96d2 ("bpf: Optimize element count in non-preallocated hash map.") > --- > kernel/bpf/hashtab.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c > index 0fe3f136cbbe..86aec20c22d0 100644 > --- a/kernel/bpf/hashtab.c > +++ b/kernel/bpf/hashtab.c > @@ -622,6 +622,8 @@ static struct bpf_map *htab_map_alloc(union bpf_attr *attr) > free_prealloc: > prealloc_destroy(htab); > free_map_locked: > + if (htab->use_percpu_counter) > + percpu_counter_destroy(&htab->pcount); Thank you for the fix! Applied
Hello: This patch was applied to bpf/bpf-next.git (master) by Alexei Starovoitov <ast@kernel.org>: On Sun, 11 Sep 2022 00:07:11 +0900 you wrote: > syzbot is reporting ODEBUG bug in htab_map_alloc() [1], for > commit 86fe28f7692d96d2 ("bpf: Optimize element count in non-preallocated > hash map.") added percpu_counter_init() to htab_map_alloc() but forgot to > add percpu_counter_destroy() to the error path. > > Link: https://syzkaller.appspot.com/bug?extid=5d1da78b375c3b5e6c2b [1] > Reported-by: syzbot <syzbot+5d1da78b375c3b5e6c2b@syzkaller.appspotmail.com> > Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> > Fixes: 86fe28f7692d96d2 ("bpf: Optimize element count in non-preallocated hash map.") > > [...] Here is the summary with links: - bpf: add missing percpu_counter_destroy() in htab_map_alloc() https://git.kernel.org/bpf/bpf-next/c/cf7de6a53600 You are awesome, thank you!
diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c index 0fe3f136cbbe..86aec20c22d0 100644 --- a/kernel/bpf/hashtab.c +++ b/kernel/bpf/hashtab.c @@ -622,6 +622,8 @@ static struct bpf_map *htab_map_alloc(union bpf_attr *attr) free_prealloc: prealloc_destroy(htab); free_map_locked: + if (htab->use_percpu_counter) + percpu_counter_destroy(&htab->pcount); for (i = 0; i < HASHTAB_MAP_LOCK_COUNT; i++) free_percpu(htab->map_locked[i]); bpf_map_area_free(htab->buckets);
syzbot is reporting ODEBUG bug in htab_map_alloc() [1], for commit 86fe28f7692d96d2 ("bpf: Optimize element count in non-preallocated hash map.") added percpu_counter_init() to htab_map_alloc() but forgot to add percpu_counter_destroy() to the error path. Link: https://syzkaller.appspot.com/bug?extid=5d1da78b375c3b5e6c2b [1] Reported-by: syzbot <syzbot+5d1da78b375c3b5e6c2b@syzkaller.appspotmail.com> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Fixes: 86fe28f7692d96d2 ("bpf: Optimize element count in non-preallocated hash map.") --- kernel/bpf/hashtab.c | 2 ++ 1 file changed, 2 insertions(+)