From: Alexei Starovoitov <a...@plumgrid.com>
Date: Mon, 27 Apr 2015 14:40:37 -0700

> ALU64_DIV instruction should be dividing 64-bit by 64-bit,
> whereas do_div() does 64-bit by 32-bit divide.
> x64 and arm64 JITs correctly implement 64 by 64 unsigned divide.
> llvm BPF backend emits code assuming that ALU64_DIV does 64 by 64.
> 
> Fixes: 89aa075832b0 ("net: sock: allow eBPF programs to be attached to 
> sockets")
> Reported-by: Michael Holzheu <holz...@linux.vnet.ibm.com>
> Acked-by: Daniel Borkmann <dan...@iogearbox.net>
> Signed-off-by: Alexei Starovoitov <a...@plumgrid.com>
> ---
> The bug is old and sneaked in during the very first eBPF code drop:
> Fixes: bd4cf0ed331a ("net: filter: rework/optimize internal BPF interpreter's 
> instruction set")
> but it's not affecting classic and shouldn't be backported further
> than commit 89aa075832b0 (which is the above Fixes tag).
> It was found by exhaustive tests being written by Michael Holzheu.

Ok, applied and queued up for v3.19 -stable and later.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to