Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86ea07ca authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull s390 fixes from Martin Schwidefsky:
 "Two bug fixes:

   - fix a crash on pre-z10 hardware due to cache-info

   - fix an issue with classic BPF programs in the eBPF JIT"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/cachinfo: add missing facility check to init_cache_level()
  s390/bpf: clear correct BPF accumulator register
parents d9065f44 0b991f5c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -138,6 +138,8 @@ int init_cache_level(unsigned int cpu)
	union cache_topology ct;
	enum cache_type ctype;

	if (!test_facility(34))
		return -EOPNOTSUPP;
	if (!this_cpu_ci)
		return -EINVAL;
	ct.raw = ecag(EXTRACT_TOPOLOGY, 0, 0);
+7 −7
Original line number Diff line number Diff line
@@ -448,13 +448,13 @@ static void bpf_jit_prologue(struct bpf_jit *jit)
		EMIT6_DISP_LH(0xe3000000, 0x0004, REG_SKB_DATA, REG_0,
			      BPF_REG_1, offsetof(struct sk_buff, data));
	}
	/* BPF compatibility: clear A (%b7) and X (%b8) registers */
	if (REG_SEEN(BPF_REG_7))
		/* lghi %b7,0 */
		EMIT4_IMM(0xa7090000, BPF_REG_7, 0);
	if (REG_SEEN(BPF_REG_8))
		/* lghi %b8,0 */
		EMIT4_IMM(0xa7090000, BPF_REG_8, 0);
	/* BPF compatibility: clear A (%b0) and X (%b7) registers */
	if (REG_SEEN(BPF_REG_A))
		/* lghi %ba,0 */
		EMIT4_IMM(0xa7090000, BPF_REG_A, 0);
	if (REG_SEEN(BPF_REG_X))
		/* lghi %bx,0 */
		EMIT4_IMM(0xa7090000, BPF_REG_X, 0);
}

/*