powerpc64/bpf: Use r12 for constant blinding
authorNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Mon, 14 Feb 2022 10:41:39 +0000 (16:11 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 7 Mar 2022 13:04:57 +0000 (00:04 +1100)
In preparation for preserving kernel toc in r2, switch BPF_REG_AX from
r2 to r12. r12 is not used by bpf JIT except during external helper/bpf
calls, or with BPF_NOSPEC. These sequences aren't emitted when
BPF_REG_AX is used for constant blinding and other purposes.

Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/e109f98617eacb4512c17a48525e94eda42889e6.1644834730.git.naveen.n.rao@linux.vnet.ibm.com
arch/powerpc/net/bpf_jit64.h

index b63b35e..82cdfee 100644 (file)
@@ -56,7 +56,7 @@ const int b2p[MAX_BPF_JIT_REG + 2] = {
        /* frame pointer aka BPF_REG_10 */
        [BPF_REG_FP] = 31,
        /* eBPF jit internal registers */
-       [BPF_REG_AX] = 2,
+       [BPF_REG_AX] = 12,
        [TMP_REG_1] = 9,
        [TMP_REG_2] = 10
 };