• Jiong Wang's avatar
    bpf: refactor verifier min/max code for condition jump · a72dafaf
    Jiong Wang authored
    The current min/max code does both signed and unsigned comparisons against
    the input argument "val" which is "u64" and there is explicit type casting
    when the comparison is signed.
    
    As we will need slightly more complexer type casting when JMP32 introduced,
    it is better to host the signed type casting. This makes the code more
    clean with ignorable runtime overhead.
    
    Also, code for J*GE/GT/LT/LE and JEQ/JNE are very similar, this patch
    combine them.
    
    The main purpose for this refactor is to make sure the min/max code will
    still be readable and with minimum code duplication after JMP32 introduced.
    Reviewed-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: default avatarJiong Wang <jiong.wang@netronome.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    a72dafaf
verifier.c 215 KB