• E
    net: bpf_jit: fix divide by 0 generation · d00a9dd2
    Eric Dumazet 提交于
    Several problems fixed in this patch :
    
    1) Target of the conditional jump in case a divide by 0 is performed
       by a bpf is wrong.
    
    2) Must 'generate' the full function prologue/epilogue at pass=0,
       or else we can stop too early in pass=1 if the proglen doesnt change.
       (if the increase of prologue/epilogue equals decrease of all
        instructions length because some jumps are converted to near jumps)
    
    3) Change the wrong length detection at the end of code generation to
       issue a more explicit message, no need for a full stack trace.
    Reported-by: NPhil Oester <kernel@linuxace.com>
    Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    d00a9dd2
bpf_jit_comp.c 18.2 KB