From: Jesper Dangaard Brouer <brouer@redhat.com>
To: kafai@fb.com
Cc: netdev@vger.kernel.org, eric@regit.org,
Daniel Borkmann <borkmann@iogearbox.net>,
Alexei Starovoitov <alexei.starovoitov@gmail.com>,
Jesper Dangaard Brouer <brouer@redhat.com>
Subject: [net-next PATCH 0/4] Improve bpf ELF-loader under samples/bpf
Date: Tue, 02 May 2017 14:31:45 +0200 [thread overview]
Message-ID: <149372826543.22268.3617359219409721129.stgit@firesoul> (raw)
This series improves and fixes bpf ELF loader and programs under
samples/bpf. The bpf_load.c created some hard to debug issues when
the struct (bpf_map_def) used in the ELF maps section format changed
in commit fb30d4b71214 ("bpf: Add tests for map-in-map").
This was hotfixed in commit 409526bea3c3 ("samples/bpf: bpf_load.c
detect and abort if ELF maps section size is wrong") by detecting the
issue and aborting the program.
In most situations the bpf-loader should be able to handle these kind
of changes to the struct size. This patch series aim to do proper
backward and forward compabilility handling when loading ELF files.
This series also adjust the callback that was introduced in commit
9fd63d05f3e8 ("bpf: Allow bpf sample programs (*_user.c) to change
bpf_map_def") to use the new bpf_map_data structure, before more users
start to use this callback.
Hoping these changes can make the merge window, as above mentioned
commits have not been merged yet, and it would be good to avoid users
hitting these issues.
---
Jesper Dangaard Brouer (4):
samples/bpf: adjust rlimit RLIMIT_MEMLOCK for traceex2, tracex3 and tracex4
samples/bpf: make bpf_load.c code compatible with ELF maps section changes
samples/bpf: load_bpf.c make callback fixup more flexible
samples/bpf: export map_data[] for more info on maps
samples/bpf/bpf_load.c | 229 ++++++++++++++++++++++++++------------
samples/bpf/bpf_load.h | 18 ++-
samples/bpf/map_perf_test_user.c | 14 +-
samples/bpf/tracex2_user.c | 7 +
samples/bpf/tracex3_user.c | 7 +
samples/bpf/tracex4_user.c | 8 +
6 files changed, 201 insertions(+), 82 deletions(-)
next reply other threads:[~2017-05-02 12:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-02 12:31 Jesper Dangaard Brouer [this message]
2017-05-02 12:31 ` [net-next PATCH 1/4] samples/bpf: adjust rlimit RLIMIT_MEMLOCK for traceex2, tracex3 and tracex4 Jesper Dangaard Brouer
2017-05-03 0:53 ` Alexei Starovoitov
2017-05-03 8:12 ` Jesper Dangaard Brouer
2017-05-03 13:31 ` David Miller
2017-05-02 12:31 ` [net-next PATCH 2/4] samples/bpf: make bpf_load.c code compatible with ELF maps section changes Jesper Dangaard Brouer
2017-05-03 0:54 ` Alexei Starovoitov
2017-05-03 5:48 ` Jesper Dangaard Brouer
2017-05-02 12:32 ` [net-next PATCH 3/4] samples/bpf: load_bpf.c make callback fixup more flexible Jesper Dangaard Brouer
2017-05-02 12:32 ` [net-next PATCH 4/4] samples/bpf: export map_data[] for more info on maps Jesper Dangaard Brouer
2017-05-02 19:40 ` [net-next PATCH 0/4] Improve bpf ELF-loader under samples/bpf David Miller
2017-05-02 20:30 ` Daniel Borkmann
2017-05-02 21:10 ` Daniel Borkmann
2017-05-03 6:16 ` Jesper Dangaard Brouer
2017-05-03 11:48 ` Daniel Borkmann
2017-05-03 13:30 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=149372826543.22268.3617359219409721129.stgit@firesoul \
--to=brouer@redhat.com \
--cc=alexei.starovoitov@gmail.com \
--cc=borkmann@iogearbox.net \
--cc=eric@regit.org \
--cc=kafai@fb.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.