Revision 55795ef5469290f89f04e12e662ded604909e462 authored by Rabin Vincent on 05 January 2016, 15:23:07 UTC, committed by David S. Miller on 06 January 2016, 05:43:52 UTC
The SKF_AD_ALU_XOR_X ancillary is not like the other ancillary data instructions since it XORs A with X while all the others replace A with some loaded value. All the BPF JITs fail to clear A if this is used as the first instruction in a filter. This was found using american fuzzy lop. Add a helper to determine if A needs to be cleared given the first instruction in a filter, and use this in the JITs. Except for ARM, the rest have only been compile-tested. Fixes: 3480593131e0 ("net: filter: get rid of BPF_S_* enum") Signed-off-by: Rabin Vincent <rabin@rab.in> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent ff62198
File | Mode | Size |
---|---|---|
Makefile | -rw-r--r-- | 516 bytes |
copy_page.S | -rw-r--r-- | 2.1 KB |
copy_user_memcpy.S | -rw-r--r-- | 5.1 KB |
memcpy.S | -rw-r--r-- | 4.3 KB |
memset.S | -rw-r--r-- | 1.9 KB |
panic.c | -rw-r--r-- | 400 bytes |
sdivsi3.S | -rw-r--r-- | 2.7 KB |
strcpy.S | -rw-r--r-- | 1.9 KB |
strlen.S | -rw-r--r-- | 632 bytes |
udelay.c | -rw-r--r-- | 1.2 KB |
udivdi3.S | -rw-r--r-- | 3.2 KB |
udivsi3.S | -rw-r--r-- | 1.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...