ebpf: BPF_ALU32 | BPF_ARSH on BE arches
From: Yauheni Kaliuta
Date: Tue Jun 25 2019 - 05:00:20 EST
Hi!
Looks like the code:
ALU_ARSH_X:
DST = (u64) (u32) ((*(s32 *) &DST) >> SRC);
CONT;
ALU_ARSH_K:
DST = (u64) (u32) ((*(s32 *) &DST) >> IMM);
CONT;
works incorrectly on BE arches since it must operate on lower
parts of 64bit registers.
See failure of test_verifier test 'arsh32 on imm 2' (#23 on
5.2-rc6).
--
WBR,
Yauheni Kaliuta