]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
libbpf: Fix negative FD close() in xsk_setup_xdp_prog()
authorAndrii Nakryiko <andriin@fb.com>
Thu, 7 Nov 2019 05:40:59 +0000 (21:40 -0800)
committerKhalid Elmously <khalid.elmously@canonical.com>
Wed, 29 Jan 2020 05:04:26 +0000 (00:04 -0500)
commit43b9037a75a295f998f020ecd84f380fe6e35005
tree373f1fee8bc6a4cf9b27b3c2a593404c6bbe6bb1
parent28eca471ba3a6e27af4d82fe0131395a4627d1be
libbpf: Fix negative FD close() in xsk_setup_xdp_prog()

BugLink: https://bugs.launchpad.net/bugs/1860490
[ Upstream commit 9656b346b280c3e49c8a116c3a715f966633b161 ]

Fix issue reported by static analysis (Coverity). If bpf_prog_get_fd_by_id()
fails, xsk_lookup_bpf_maps() will fail as well and clean-up code will attempt
close() with fd=-1. Fix by checking bpf_prog_get_fd_by_id() return result and
exiting early.

Fixes: 10a13bb40e54 ("libbpf: remove qidconf and better support external bpf programs.")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20191107054059.313884-1-andriin@fb.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
tools/lib/bpf/xsk.c