aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/net/bpf_jit_comp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/net/bpf_jit_comp.c')
-rw-r--r--arch/s390/net/bpf_jit_comp.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/s390/net/bpf_jit_comp.c b/arch/s390/net/bpf_jit_comp.c
index 20c146d1251a..55423d8be580 100644
--- a/arch/s390/net/bpf_jit_comp.c
+++ b/arch/s390/net/bpf_jit_comp.c
@@ -384,13 +384,16 @@ static void bpf_jit_prologue(struct bpf_jit *jit)
384 } 384 }
385 /* Setup stack and backchain */ 385 /* Setup stack and backchain */
386 if (jit->seen & SEEN_STACK) { 386 if (jit->seen & SEEN_STACK) {
387 /* lgr %bfp,%r15 (BPF frame pointer) */ 387 if (jit->seen & SEEN_FUNC)
388 EMIT4(0xb9040000, BPF_REG_FP, REG_15); 388 /* lgr %w1,%r15 (backchain) */
389 EMIT4(0xb9040000, REG_W1, REG_15);
390 /* la %bfp,STK_160_UNUSED(%r15) (BPF frame pointer) */
391 EMIT4_DISP(0x41000000, BPF_REG_FP, REG_15, STK_160_UNUSED);
389 /* aghi %r15,-STK_OFF */ 392 /* aghi %r15,-STK_OFF */
390 EMIT4_IMM(0xa70b0000, REG_15, -STK_OFF); 393 EMIT4_IMM(0xa70b0000, REG_15, -STK_OFF);
391 if (jit->seen & SEEN_FUNC) 394 if (jit->seen & SEEN_FUNC)
392 /* stg %bfp,152(%r15) (backchain) */ 395 /* stg %w1,152(%r15) (backchain) */
393 EMIT6_DISP_LH(0xe3000000, 0x0024, BPF_REG_FP, REG_0, 396 EMIT6_DISP_LH(0xe3000000, 0x0024, REG_W1, REG_0,
394 REG_15, 152); 397 REG_15, 152);
395 } 398 }
396 /* 399 /*