summaryrefslogtreecommitdiffstats
path: root/kernel/bpf
diff options
context:
space:
mode:
authorJohn Fastabend <john.fastabend@gmail.com>2018-05-17 14:16:58 -0700
committerDaniel Borkmann <daniel@iogearbox.net>2018-05-18 22:44:10 +0200
commit303def35f64e37bcd5401d202889f5fbc0241179 (patch)
tree2ec1213038df81591e3b99242116a3ae5239e4fe /kernel/bpf
parent1cb61381e72ea2426511c0fb63176baf952bcd9f (diff)
downloadop-kernel-dev-303def35f64e37bcd5401d202889f5fbc0241179.zip
op-kernel-dev-303def35f64e37bcd5401d202889f5fbc0241179.tar.gz
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')
-rw-r--r--kernel/bpf/sockmap.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c
index c682669..3b28955 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;
OpenPOWER on IntegriCloud