On 01/18/2018 11:40 PM, Alexei Starovoitov wrote: > On 1/18/18 2:30 PM, Eric Dumazet wrote: >> On Fri, 2018-01-12 at 18:59 -0800, Alexei Starovoitov wrote: >>> due to some JITs doing if (src_reg == 0) check in 64-bit mode >>> for div/mod opreations mask upper 32-bits of src register >>> before doing the check >> >> Is the plan to fix JIT, and if they can all be fixed, >> revert this patch ? > > No need to fix JITs. > I'd rather remove 'cmp rX, 0' from JITs and let verifier emit it. > It's more generic and gives us flexibility to decide what to do > with divide by zero and other exceptions.
Yeah, working on this, but patch most likely for the next window. The 'return 0' is really suboptimal as exception code for some program types, so I'd like to have struct bpf_verifier_ops to define such exception return code to be used, so that the verifier can apply this via bpf insns directly.