diff options
author | John Fastabend | 2018-05-17 14:16:58 -0700 |
---|---|---|
committer | Daniel Borkmann | 2018-05-18 22:44:10 +0200 |
commit | 303def35f64e37bcd5401d202889f5fbc0241179 (patch) | |
tree | 2ec1213038df81591e3b99242116a3ae5239e4fe /kernel/bpf/sockmap.c | |
parent | 1cb61381e72ea2426511c0fb63176baf952bcd9f (diff) |
bpf: allow sk_msg programs to read sock fields
Currently sk_msg programs only have access to the raw data. However,
it is often useful when building policies to have the policies specific
to the socket endpoint. This allows using the socket tuple as input
into filters, etc.
This patch adds ctx access to the sock fields.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'kernel/bpf/sockmap.c')
-rw-r--r-- | kernel/bpf/sockmap.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c index c682669570dc..3b28955a6383 100644 --- a/kernel/bpf/sockmap.c +++ b/kernel/bpf/sockmap.c @@ -523,6 +523,7 @@ static unsigned int smap_do_tx_msg(struct sock *sk, } bpf_compute_data_pointers_sg(md); + md->sk = sk; rc = (*prog->bpf_func)(md, prog->insnsi); psock->apply_bytes = md->apply_bytes; |