diff options
author | Alexei Starovoitov <[email protected]> | 2016-06-15 18:25:38 -0700 |
---|---|---|
committer | David S. Miller <[email protected]> | 2016-06-15 23:37:54 -0700 |
commit | 19de99f70b87fcc3338da52a89c439b088cbff71 (patch) | |
tree | 43b5ff80043ee9ea62e09fe568502c9d68a188ee /lib/netdev-notifier-error-inject.c | |
parent | e582615ad33dbd39623084a02e95567b116e1eea (diff) |
bpf: fix matching of data/data_end in verifier
The ctx structure passed into bpf programs is different depending on bpf
program type. The verifier incorrectly marked ctx->data and ctx->data_end
access based on ctx offset only. That caused loads in tracing programs
int bpf_prog(struct pt_regs *ctx) { .. ctx->ax .. }
to be incorrectly marked as PTR_TO_PACKET which later caused verifier
to reject the program that was actually valid in tracing context.
Fix this by doing program type specific matching of ctx offsets.
Fixes: 969bf05eb3ce ("bpf: direct packet access")
Reported-by: Sasha Goldshtein <[email protected]>
Signed-off-by: Alexei Starovoitov <[email protected]>
Acked-by: Daniel Borkmann <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'lib/netdev-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions