OSDN Git Service

bpf: Explicitly memset some bpf info structures declared on the stack
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 16:22:58 +0000 (17:22 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 20 Mar 2020 20:05:22 +0000 (21:05 +0100)
commit5c6f25887963f15492b604dd25cb149c501bbabf
tree0ca35ad39945fc8e516682d2dd353e2802bfddc6
parent8096f229421f7b22433775e928d506f0342e5907
bpf: Explicitly memset some bpf info structures declared on the stack

Trying to initialize a structure with "= {};" will not always clean out
all padding locations in a structure. So be explicit and call memset to
initialize everything for a number of bpf information structures that
are then copied from userspace, sometimes from smaller memory locations
than the size of the structure.

Reported-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20200320162258.GA794295@kroah.com
kernel/bpf/btf.c
kernel/bpf/syscall.c