• Matthew Dempsky's avatar
    bpf_dsl: support arbitrary (arg & mask) == val expressions · 2761abc6
    Matthew Dempsky authored
    Rework the seccomp_bpf compiler internals to work in terms of a single
    general masked-equality condition instead of the variety of limited
    condition operators previously supported.  All of the peephole
    optimizations previously applied continue to be supported so similar
    instructions should be emitted, but the handling of upper/lower words
    is more cleanly structured now.
    
    The old sandbox->Cond() interface continues to be supported for now so
    that the old seccomp_bpf_unittests continue to give us assurances that
    the new code generator is still correct.  Meanwhile, we provide a new
    lower-level sandbox->CondMaskedEqual() method that bpf_dsl can now use.
    
    BUG=408845
    R=jln@chromium.org
    
    Review URL: https://codereview.chromium.org/530133003
    
    Cr-Commit-Position: refs/heads/master@{#293347}
    2761abc6
errorcode.cc 3.26 KB