]> git.baikalelectronics.ru Git - kernel.git/commit
bpf: don't zero out the info struct in bpf_obj_get_info_by_fd()
authorJakub Kicinski <jakub.kicinski@netronome.com>
Tue, 25 Jul 2017 22:16:12 +0000 (15:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Jul 2017 00:02:52 +0000 (17:02 -0700)
commite988c0a7a2f31a12526ee1e36d5d8637bdfda31a
tree89960372bb4fa53648a8ca44df78e21870345b91
parentc3c8f25cbf454b2757d470f417b8efe18badc3bd
bpf: don't zero out the info struct in bpf_obj_get_info_by_fd()

The buffer passed to bpf_obj_get_info_by_fd() should be initialized
to zeros.  Kernel will enforce that to guarantee we can safely extend
info structures in the future.

Making the bpf_obj_get_info_by_fd() call in libbpf perform the zeroing
is problematic, however, since some members of the info structures
may need to be initialized by the callers (for instance pointers
to buffers to which kernel is to dump translated and jited images).

Remove the zeroing and fix up the in-tree callers before any kernel
has been released with this code.

As Daniel points out this seems to be the intended operation anyway,
since commit 2fafd4fd2bed ("bpf: Test for bpf ID") is itself setting
the buffer pointers before calling bpf_obj_get_info_by_fd().

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/lib/bpf/bpf.c
tools/testing/selftests/bpf/test_progs.c