https://github.com/torvalds/linux
Revision fc92f745f8d0d3736ce5afb00a905d7cc61f9c46 authored by Vlad Yasevich on 28 March 2014, 01:51:18 UTC, committed by David S. Miller on 28 March 2014, 21:14:02 UTC
When the vlan filtering is enabled on the bridge, but
the filter is not configured on the bridge device itself,
running tcpdump on the bridge device will result in a
an Oops with NULL pointer dereference.  The reason
is that br_pass_frame_up() will bypass the vlan
check because promisc flag is set.  It will then try
to get the table pointer and process the packet based
on the table.  Since the table pointer is NULL, we oops.
Catch this special condition in br_handle_vlan().

Reported-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
CC: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Acked-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 53d6471
History
Tip revision: fc92f745f8d0d3736ce5afb00a905d7cc61f9c46 authored by Vlad Yasevich on 28 March 2014, 01:51:18 UTC
bridge: Fix crash with vlan filtering and tcpdump
Tip revision: fc92f74
File Mode Size
asymmetric_keys
async_tx
842.c -rw-r--r-- 4.6 KB
Kconfig -rw-r--r-- 40.0 KB
Makefile -rw-r--r-- 3.8 KB
ablk_helper.c -rw-r--r-- 4.2 KB
ablkcipher.c -rw-r--r-- 17.8 KB
aead.c -rw-r--r-- 14.0 KB
aes_generic.c -rw-r--r-- 61.9 KB
af_alg.c -rw-r--r-- 9.3 KB
ahash.c -rw-r--r-- 12.8 KB
algapi.c -rw-r--r-- 19.8 KB
algboss.c -rw-r--r-- 6.4 KB
algif_hash.c -rw-r--r-- 6.8 KB
algif_skcipher.c -rw-r--r-- 13.3 KB
ansi_cprng.c -rw-r--r-- 10.8 KB
anubis.c -rw-r--r-- 27.8 KB
api.c -rw-r--r-- 13.4 KB
arc4.c -rw-r--r-- 3.4 KB
authenc.c -rw-r--r-- 20.0 KB
authencesn.c -rw-r--r-- 23.1 KB
blkcipher.c -rw-r--r-- 19.4 KB
blowfish_common.c -rw-r--r-- 15.7 KB
blowfish_generic.c -rw-r--r-- 3.4 KB
camellia_generic.c -rw-r--r-- 34.9 KB
cast5_generic.c -rw-r--r-- 20.8 KB
cast6_generic.c -rw-r--r-- 9.5 KB
cast_common.c -rw-r--r-- 13.1 KB
cbc.c -rw-r--r-- 7.4 KB
ccm.c -rw-r--r-- 21.4 KB
chainiv.c -rw-r--r-- 8.5 KB
cipher.c -rw-r--r-- 3.3 KB
cmac.c -rw-r--r-- 7.5 KB
compress.c -rw-r--r-- 1.3 KB
crc32.c -rw-r--r-- 3.7 KB
crc32c.c -rw-r--r-- 4.3 KB
crct10dif_common.c -rw-r--r-- 3.6 KB
crct10dif_generic.c -rw-r--r-- 3.2 KB
cryptd.c -rw-r--r-- 24.9 KB
crypto_null.c -rw-r--r-- 4.4 KB
crypto_user.c -rw-r--r-- 12.3 KB
crypto_wq.c -rw-r--r-- 968 bytes
ctr.c -rw-r--r-- 12.3 KB
cts.c -rw-r--r-- 9.8 KB
deflate.c -rw-r--r-- 5.4 KB
des_generic.c -rw-r--r-- 35.3 KB
ecb.c -rw-r--r-- 4.9 KB
eseqiv.c -rw-r--r-- 6.5 KB
fcrypt.c -rw-r--r-- 18.0 KB
fips.c -rw-r--r-- 705 bytes
gcm.c -rw-r--r-- 36.6 KB
gf128mul.c -rw-r--r-- 13.2 KB
ghash-generic.c -rw-r--r-- 3.7 KB
hash_info.c -rw-r--r-- 1.8 KB
hmac.c -rw-r--r-- 6.9 KB
internal.h -rw-r--r-- 4.1 KB
khazad.c -rw-r--r-- 51.8 KB
krng.c -rw-r--r-- 1.4 KB
lrw.c -rw-r--r-- 9.2 KB
lz4.c -rw-r--r-- 2.5 KB
lz4hc.c -rw-r--r-- 2.5 KB
lzo.c -rw-r--r-- 2.4 KB
md4.c -rw-r--r-- 6.2 KB
md5.c -rw-r--r-- 3.9 KB
memneq.c -rw-r--r-- 6.1 KB
michael_mic.c -rw-r--r-- 3.6 KB
pcbc.c -rw-r--r-- 7.7 KB
pcompress.c -rw-r--r-- 3.0 KB
pcrypt.c -rw-r--r-- 14.7 KB
proc.c -rw-r--r-- 3.7 KB
ripemd.h -rw-r--r-- 974 bytes
rmd128.c -rw-r--r-- 10.2 KB
rmd160.c -rw-r--r-- 12.6 KB
rmd256.c -rw-r--r-- 10.5 KB
rmd320.c -rw-r--r-- 13.1 KB
rng.c -rw-r--r-- 3.3 KB
salsa20_generic.c -rw-r--r-- 6.7 KB
scatterwalk.c -rw-r--r-- 3.3 KB
seed.c -rw-r--r-- 17.4 KB
seqiv.c -rw-r--r-- 8.5 KB
serpent_generic.c -rw-r--r-- 21.2 KB
sha1_generic.c -rw-r--r-- 3.5 KB
sha256_generic.c -rw-r--r-- 12.1 KB
sha512_generic.c -rw-r--r-- 8.7 KB
shash.c -rw-r--r-- 17.5 KB
tcrypt.c -rw-r--r-- 50.2 KB
tcrypt.h -rw-r--r-- 3.7 KB
tea.c -rw-r--r-- 6.6 KB
testmgr.c -rw-r--r-- 69.4 KB
testmgr.h -rw-r--r-- 965.5 KB
tgr192.c -rw-r--r-- 30.5 KB
twofish_common.c -rw-r--r-- 37.8 KB
twofish_generic.c -rw-r--r-- 6.2 KB
vmac.c -rw-r--r-- 18.9 KB
wp512.c -rw-r--r-- 59.7 KB
xcbc.c -rw-r--r-- 7.2 KB
xor.c -rw-r--r-- 4.0 KB
xts.c -rw-r--r-- 8.7 KB
zlib.c -rw-r--r-- 9.5 KB

back to top