diff options
author | Michael Holzheu <holzheu@linux.vnet.ibm.com> | 2015-07-06 16:20:07 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-07-08 15:17:45 -0700 |
commit | d912557b346099584bbbfa8d3c1e101c46e33b59 (patch) | |
tree | 2752bc31be26f1c27776a0d52439efdd81f9eed7 /samples/bpf/tracex5_kern.c | |
parent | 7baaa9092dedad5f670a7b1716b2ce9e1175ba02 (diff) | |
download | linux-d912557b346099584bbbfa8d3c1e101c46e33b59.tar.gz linux-d912557b346099584bbbfa8d3c1e101c46e33b59.tar.bz2 linux-d912557b346099584bbbfa8d3c1e101c46e33b59.zip |
samples: bpf: enable trace samples for s390x
The trace bpf samples do not compile on s390x because they use x86
specific fields from the "pt_regs" structure.
Fix this and access the fields via new PT_REGS macros.
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'samples/bpf/tracex5_kern.c')
-rw-r--r-- | samples/bpf/tracex5_kern.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/samples/bpf/tracex5_kern.c b/samples/bpf/tracex5_kern.c index b71fe07a7a7a..b3f4295bf288 100644 --- a/samples/bpf/tracex5_kern.c +++ b/samples/bpf/tracex5_kern.c @@ -24,7 +24,7 @@ int bpf_prog1(struct pt_regs *ctx) { struct seccomp_data sd = {}; - bpf_probe_read(&sd, sizeof(sd), (void *)ctx->di); + bpf_probe_read(&sd, sizeof(sd), (void *)PT_REGS_PARM1(ctx)); /* dispatch into next BPF program depending on syscall number */ bpf_tail_call(ctx, &progs, sd.nr); @@ -42,7 +42,7 @@ PROG(__NR_write)(struct pt_regs *ctx) { struct seccomp_data sd = {}; - bpf_probe_read(&sd, sizeof(sd), (void *)ctx->di); + bpf_probe_read(&sd, sizeof(sd), (void *)PT_REGS_PARM1(ctx)); if (sd.args[2] == 512) { char fmt[] = "write(fd=%d, buf=%p, size=%d)\n"; bpf_trace_printk(fmt, sizeof(fmt), @@ -55,7 +55,7 @@ PROG(__NR_read)(struct pt_regs *ctx) { struct seccomp_data sd = {}; - bpf_probe_read(&sd, sizeof(sd), (void *)ctx->di); + bpf_probe_read(&sd, sizeof(sd), (void *)PT_REGS_PARM1(ctx)); if (sd.args[2] > 128 && sd.args[2] <= 1024) { char fmt[] = "read(fd=%d, buf=%p, size=%d)\n"; bpf_trace_printk(fmt, sizeof(fmt), |