Re: [PATCH bpf] bpf: verifier: prevent userspace memory access

From: Alexei Starovoitov
Date: Thu Mar 21 2024 - 02:08:24 EST


On Wed, Mar 20, 2024 at 3:55 AM Puranjay Mohan <puranjay12@xxxxxxxxx> wrote:
>
> The JITs need to implement bpf_arch_uaddress_limit() to define where
> the userspace addresses end for that architecture or TASK_SIZE is taken
> as default.
>
> The implementation is as follows:
>
> REG_AX = SRC_REG
> if(offset)
> REG_AX += offset;
> REG_AX >>= 32;
> if (REG_AX <= (uaddress_limit >> 32))
> DST_REG = 0;
> else
> DST_REG = *(size *)(SRC_REG + offset);

The patch looks good, but it seems to be causing s390 CI failures.

Ilya,
could you help us understand is this check needed on s390
and if so, what should be the uaddress_limit ?