• Arthur Fabre's avatar
    bpf: support JumpIf on RegX instead of K · 49bb7cea
    Arthur Fabre authored
    Add a JumpIfX instruction which implements conditional jumps using
    RegA and RegX. This is in addition to the pre-existing JumpIf
    instruction which uses RegA and K.
    
    This instruction / addressing mode is not mentionned in the original BPF
    paper, but is supported by tools like bpf_asm, and has recently been
    added to the kernel's filter.txt.
    
    Simplify some of the parsing logic, and add a separate helper for
    checking for "fake" JumpIfs.
    
    Add JumpIfX support to the BPF vm.
    
    Update testdata with JumpIfX instructions, and add tests
    for both the assembler/disassembler and vm.
    
    Fixes golang/go#27814
    
    Change-Id: I0c3f6ac7eb5b4cd4d9c5af8784ee2e8d25195a0a
    GitHub-Last-Rev: 39a88165b2d3253c37db4b0e303d862b60dc37c9
    GitHub-Pull-Request: golang/net#20
    Reviewed-on: https://go-review.googlesource.com/c/136895Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    49bb7cea
Name
Last commit
Last update
bpf Loading commit data...
context Loading commit data...
dict Loading commit data...
dns/dnsmessage Loading commit data...
html Loading commit data...
http Loading commit data...
http2 Loading commit data...
icmp Loading commit data...
idna Loading commit data...
internal Loading commit data...
ipv4 Loading commit data...
ipv6 Loading commit data...
lif Loading commit data...
nettest Loading commit data...
netutil Loading commit data...
proxy Loading commit data...
publicsuffix Loading commit data...
route Loading commit data...
trace Loading commit data...
webdav Loading commit data...
websocket Loading commit data...
xsrftoken Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
codereview.cfg Loading commit data...