bpf: fix panic in stack_map_get_build_id() on i386 and arm32
authorSong Liu <songliubraving@fb.com>
Tue, 8 Jan 2019 22:20:44 +0000 (14:20 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Feb 2019 09:08:54 +0000 (10:08 +0100)
commit2f3480e3407909ee09a45a79bd9bf8ce8f5a2046
tree4aa8536e703b5728e8defd3811cefc6b21b8670f
parent06b919a5177220d7bbaa061fa0f89f1fe73b997a
bpf: fix panic in stack_map_get_build_id() on i386 and arm32

[ Upstream commit beaf3d1901f4ea46fbd5c9d857227d99751de469 ]

As Naresh reported, test_stacktrace_build_id() causes panic on i386 and
arm32 systems. This is caused by page_address() returns NULL in certain
cases.

This patch fixes this error by using kmap_atomic/kunmap_atomic instead
of page_address.

Fixes: 615755a77b24 (" bpf: extend stackmap to save binary_build_id+offset instead of address")
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/bpf/stackmap.c