Message ID | 20191104091536.GB31509@mwanda |
---|---|
State | Accepted |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [bpf] bpf: offload: unlock on error in bpf_offload_dev_create() | expand |
On Mon, 4 Nov 2019 12:15:36 +0300, Dan Carpenter wrote: > We need to drop the bpf_devs_lock on error before returning. > > Fixes: 9fd7c5559165 ("bpf: offload: aggregate offloads per-device") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
On 11/4/19 10:15 AM, Dan Carpenter wrote: > We need to drop the bpf_devs_lock on error before returning. > > Fixes: 9fd7c5559165 ("bpf: offload: aggregate offloads per-device") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Applied, thanks!
diff --git a/kernel/bpf/offload.c b/kernel/bpf/offload.c index ba635209ae9a..5b9da0954a27 100644 --- a/kernel/bpf/offload.c +++ b/kernel/bpf/offload.c @@ -678,8 +678,10 @@ bpf_offload_dev_create(const struct bpf_prog_offload_ops *ops, void *priv) down_write(&bpf_devs_lock); if (!offdevs_inited) { err = rhashtable_init(&offdevs, &offdevs_params); - if (err) + if (err) { + up_write(&bpf_devs_lock); return ERR_PTR(err); + } offdevs_inited = true; } up_write(&bpf_devs_lock);
We need to drop the bpf_devs_lock on error before returning. Fixes: 9fd7c5559165 ("bpf: offload: aggregate offloads per-device") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- Static analysis. Not tested. kernel/bpf/offload.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)