• Sandipan Das's avatar
    bpf: powerpc64: pad function address loads with NOPs · 4ea69b2f
    Sandipan Das authored
    For multi-function programs, loading the address of a callee
    function to a register requires emitting instructions whose
    count varies from one to five depending on the nature of the
    address.
    
    Since we come to know of the callee's address only before the
    extra pass, the number of instructions required to load this
    address may vary from what was previously generated. This can
    make the JITed image grow or shrink.
    
    To avoid this, we should generate a constant five-instruction
    when loading function addresses by padding the optimized load
    sequence with NOPs.
    Signed-off-by: default avatarSandipan Das <sandipan@linux.vnet.ibm.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    4ea69b2f
bpf_jit_comp64.c 28 KB