]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
net: bpf_jit: fix BPF_S_LDX_B_MSH compilation
authorEric Dumazet <eric.dumazet@gmail.com>
Sun, 18 Mar 2012 02:40:48 +0000 (02:40 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Apr 2012 16:27:20 +0000 (09:27 -0700)
commit02241f8a5f7c225b4feea6572bbfcc3cf0bae6be
tree904f7f29c86ca044f2b209dd836b31c60af3f05c
parent6a26d49c67b852cfd9144f86f628f57c8ca00977
net: bpf_jit: fix BPF_S_LDX_B_MSH compilation

[ Upstream commit dc72d99dabb870ca5bd6d9fff674be853bb4a88d ]

Matt Evans spotted that x86 bpf_jit was incorrectly handling negative
constant offsets in BPF_S_LDX_B_MSH instruction.

We need to abort JIT compilation like we do in common_load so that
filter uses the interpreter code and can call __load_pointer()

Reference: http://lists.openwall.net/netdev/2011/07/19/11

Thanks to Indan Zupancic to bring back this issue.

Reported-by: Matt Evans <matt@ozlabs.org>
Reported-by: Indan Zupancic <indan@nul.nu>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/net/bpf_jit_comp.c