libbpf: Fix using invalidated memory in bpf_linker
authorAndrii Nakryiko <andrii@kernel.org>
Wed, 24 Nov 2021 00:23:18 +0000 (16:23 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:16 +0000 (11:03 +0100)
commitef89212783a29df9c5fe89551596d6a904a559fa
tree394d4f9e7c2f4bc013bf5fc788e9354bdf3adecf
parent9b616ae0bf98146fe50c4cc6d068fbe421b1ca82
libbpf: Fix using invalidated memory in bpf_linker

[ Upstream commit 593835377f24ca1bb98008ec1dc3baefe491ad6e ]

add_dst_sec() can invalidate bpf_linker's section index making
dst_symtab pointer pointing into unallocated memory. Reinitialize
dst_symtab pointer on each iteration to make sure it's always valid.

Fixes: faf6ed321cf6 ("libbpf: Add BPF static linker APIs")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20211124002325.1737739-7-andrii@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/lib/bpf/linker.c