bpf: sockmap, fix double-free
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Thu, 17 May 2018 14:11:02 +0000 (09:11 -0500)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 17 May 2018 20:44:49 +0000 (22:44 +0200)
`e' is being freed twice.

Fix this by removing one of the kfree() calls.

Addresses-Coverity-ID: 1468983 ("Double free")
Fixes: 81110384441a ("bpf: sockmap, add hash map support")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
kernel/bpf/sockmap.c

index 41b41fcc0466581b764dee26ac70cce13fe2be70..c682669570dc45c65f978308141d8352cde16f7e 100644 (file)
@@ -1823,7 +1823,6 @@ static int __sock_map_ctx_update_elem(struct bpf_map *map,
        write_unlock_bh(&sock->sk_callback_lock);
        return err;
 out_free:
-       kfree(e);
        smap_release_sock(psock, sock);
 out_progs:
        if (verdict)