From: Eric Dumazet <eric.dumazet@gmail.com>
To: Alexei Starovoitov <ast@kernel.org>, davem@davemloft.net
Cc: daniel@iogearbox.net, x86@kernel.org, netdev@vger.kernel.org,
bpf@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH bpf-next 07/10] bpf: add support for BTF pointers to x86 JIT
Date: Fri, 4 Oct 2019 23:03:06 -0700 [thread overview]
Message-ID: <74e72059-7961-a65d-5a8c-5c50c7a4a453@gmail.com> (raw)
In-Reply-To: <20191005050314.1114330-8-ast@kernel.org>
On 10/4/19 10:03 PM, Alexei Starovoitov wrote:
> Pointer to BTF object is a pointer to kernel object or NULL.
> Such pointers can only be used by BPF_LDX instructions.
> The verifier changed their opcode from LDX|MEM|size
> to LDX|PROBE_MEM|size to make JITing easier.
> The number of entries in extable is the number of BPF_LDX insns
> that access kernel memory via "pointer to BTF type".
...
> }
> if (proglen == oldproglen) {
> - header = bpf_jit_binary_alloc(proglen, &image,
> - 1, jit_fill_hole);
> + /*
> + * The number of entries in extable is the number of BPF_LDX
> + * insns that access kernel memory via "pointer to BTF type".
> + * The verifier changed their opcode from LDX|MEM|size
> + * to LDX|PROBE_MEM|size to make JITing easier.
> + */
> + u32 extable_size = prog->aux->num_exentries *
> + sizeof(struct exception_table_entry);
> +
> + /* allocate module memory for x86 insns and extable */
> + header = bpf_jit_binary_alloc(proglen + extable_size,
> + &image, 1, jit_fill_hole);
> if (!header) {
> prog = orig_prog;
> goto out_addrs;
> }
> + prog->aux->extable = (void *) image + proglen;
You might want to align ->extable to __alignof__(struct exception_table_entry) (4 bytes currently)
next prev parent reply other threads:[~2019-10-05 6:03 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-05 5:03 [PATCH bpf-next 00/10] bpf: revolutionize bpf tracing Alexei Starovoitov
2019-10-05 5:03 ` [PATCH bpf-next 01/10] bpf: add typecast to raw_tracepoints to help BTF generation Alexei Starovoitov
2019-10-05 18:40 ` Andrii Nakryiko
2019-10-06 3:58 ` John Fastabend
2019-10-05 5:03 ` [PATCH bpf-next 02/10] bpf: add typecast to bpf helpers " Alexei Starovoitov
2019-10-05 18:41 ` Andrii Nakryiko
2019-10-06 4:00 ` John Fastabend
2019-10-05 5:03 ` [PATCH bpf-next 03/10] bpf: process in-kernel BTF Alexei Starovoitov
2019-10-06 6:36 ` Andrii Nakryiko
2019-10-06 23:49 ` Alexei Starovoitov
2019-10-07 0:20 ` Andrii Nakryiko
2019-10-09 20:51 ` Martin Lau
2019-10-10 3:43 ` Alexei Starovoitov
2019-10-05 5:03 ` [PATCH bpf-next 04/10] libbpf: auto-detect btf_id of raw_tracepoint Alexei Starovoitov
2019-10-07 23:41 ` Andrii Nakryiko
2019-10-09 2:26 ` Alexei Starovoitov
2019-10-05 5:03 ` [PATCH bpf-next 05/10] bpf: implement accurate raw_tp context access via BTF Alexei Starovoitov
2019-10-07 16:32 ` Alan Maguire
2019-10-09 3:59 ` Alexei Starovoitov
2019-10-08 0:35 ` Andrii Nakryiko
2019-10-09 3:30 ` Alexei Starovoitov
2019-10-09 4:01 ` Andrii Nakryiko
2019-10-09 5:10 ` Andrii Nakryiko
2019-10-10 3:54 ` Alexei Starovoitov
2019-10-05 5:03 ` [PATCH bpf-next 06/10] bpf: add support for BTF pointers to interpreter Alexei Starovoitov
2019-10-08 3:08 ` Andrii Nakryiko
2019-10-05 5:03 ` [PATCH bpf-next 07/10] bpf: add support for BTF pointers to x86 JIT Alexei Starovoitov
2019-10-05 6:03 ` Eric Dumazet [this message]
2019-10-09 17:38 ` Andrii Nakryiko
2019-10-09 17:46 ` Alexei Starovoitov
2019-10-05 5:03 ` [PATCH bpf-next 08/10] bpf: check types of arguments passed into helpers Alexei Starovoitov
2019-10-09 18:01 ` Andrii Nakryiko
2019-10-09 19:58 ` Alexei Starovoitov
2019-10-05 5:03 ` [PATCH bpf-next 09/10] bpf: disallow bpf_probe_read[_str] helpers Alexei Starovoitov
2019-10-09 5:29 ` Andrii Nakryiko
2019-10-09 19:38 ` Alexei Starovoitov
2019-10-05 5:03 ` [PATCH bpf-next 10/10] selftests/bpf: add kfree_skb raw_tp test Alexei Starovoitov
2019-10-09 5:36 ` Andrii Nakryiko
2019-10-09 17:37 ` Alexei Starovoitov
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=74e72059-7961-a65d-5a8c-5c50c7a4a453@gmail.com \
--to=eric.dumazet@gmail.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=kernel-team@fb.com \
--cc=netdev@vger.kernel.org \
--cc=x86@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).