Loading arch/arm/net/bpf_jit_32.c +21 −21 Original line number Diff line number Diff line Loading @@ -27,6 +27,27 @@ int bpf_jit_enable __read_mostly; /* * eBPF prog stack layout * * high * original ARM_SP => +-----+ eBPF prologue * |FP/LR| * current ARM_FP => +-----+ * | ... | callee saved registers * eBPF fp register => +-----+ <= (BPF_FP) * | ... | eBPF JIT scratch space * | | eBPF prog stack * +-----+ * |RSVD | JIT scratchpad * current ARM_SP => +-----+ <= (BPF_FP - STACK_SIZE) * | | * | ... | Function call stack * | | * +-----+ * low */ #define STACK_OFFSET(k) (k) #define TMP_REG_1 (MAX_BPF_JIT_REG + 0) /* TEMP Register 1 */ #define TMP_REG_2 (MAX_BPF_JIT_REG + 1) /* TEMP Register 2 */ Loading Loading @@ -1091,27 +1112,6 @@ static void build_prologue(struct jit_ctx *ctx) u16 reg_set = 0; /* * eBPF prog stack layout * * high * original ARM_SP => +-----+ eBPF prologue * |FP/LR| * current ARM_FP => +-----+ * | ... | callee saved registers * eBPF fp register => +-----+ <= (BPF_FP) * | ... | eBPF JIT scratch space * | | eBPF prog stack * +-----+ * |RSVD | JIT scratchpad * current A64_SP => +-----+ <= (BPF_FP - STACK_SIZE) * | | * | ... | Function call stack * | | * +-----+ * low */ /* Save callee saved registers. */ reg_set |= (1<<r4) | (1<<r5) | (1<<r6) | (1<<r7) | (1<<r8) | (1<<r10); #ifdef CONFIG_FRAME_POINTER Loading Loading
arch/arm/net/bpf_jit_32.c +21 −21 Original line number Diff line number Diff line Loading @@ -27,6 +27,27 @@ int bpf_jit_enable __read_mostly; /* * eBPF prog stack layout * * high * original ARM_SP => +-----+ eBPF prologue * |FP/LR| * current ARM_FP => +-----+ * | ... | callee saved registers * eBPF fp register => +-----+ <= (BPF_FP) * | ... | eBPF JIT scratch space * | | eBPF prog stack * +-----+ * |RSVD | JIT scratchpad * current ARM_SP => +-----+ <= (BPF_FP - STACK_SIZE) * | | * | ... | Function call stack * | | * +-----+ * low */ #define STACK_OFFSET(k) (k) #define TMP_REG_1 (MAX_BPF_JIT_REG + 0) /* TEMP Register 1 */ #define TMP_REG_2 (MAX_BPF_JIT_REG + 1) /* TEMP Register 2 */ Loading Loading @@ -1091,27 +1112,6 @@ static void build_prologue(struct jit_ctx *ctx) u16 reg_set = 0; /* * eBPF prog stack layout * * high * original ARM_SP => +-----+ eBPF prologue * |FP/LR| * current ARM_FP => +-----+ * | ... | callee saved registers * eBPF fp register => +-----+ <= (BPF_FP) * | ... | eBPF JIT scratch space * | | eBPF prog stack * +-----+ * |RSVD | JIT scratchpad * current A64_SP => +-----+ <= (BPF_FP - STACK_SIZE) * | | * | ... | Function call stack * | | * +-----+ * low */ /* Save callee saved registers. */ reg_set |= (1<<r4) | (1<<r5) | (1<<r6) | (1<<r7) | (1<<r8) | (1<<r10); #ifdef CONFIG_FRAME_POINTER Loading