kernel_optimize_test/net/bridge
Nikolay Aleksandrov 823d81b0fa net: bridge: fix stale eth hdr pointer in br_dev_xmit
In br_dev_xmit() we perform vlan filtering in br_allowed_ingress() but
if the packet has the vlan header inside (e.g. bridge with disabled
tx-vlan-offload) then the vlan filtering code will use skb_vlan_untag()
to extract the vid before filtering which in turn calls pskb_may_pull()
and we may end up with a stale eth pointer. Moreover the cached eth header
pointer will generally be wrong after that operation. Remove the eth header
caching and just use eth_hdr() directly, the compiler does the right thing
and calculates it only once so we don't lose anything.

Fixes: 057658cb33 ("bridge: suppress arp pkts on BR_NEIGH_SUPPRESS ports")
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-24 11:11:19 -08:00
..
netfilter netfilter: ebtables: compat: reject all padding in matches/watchers 2019-12-20 02:12:27 +01:00
br_arp_nd_proxy.c
br_device.c net: bridge: fix stale eth hdr pointer in br_dev_xmit 2020-02-24 11:11:19 -08:00
br_fdb.c
br_forward.c net: bridge: check port state before br_allowed_egress 2020-01-24 12:58:14 +01:00
br_if.c
br_input.c net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br_ioctl.c
br_mdb.c
br_multicast.c
br_netfilter_hooks.c netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() 2019-12-09 13:14:06 +01:00
br_netfilter_ipv6.c
br_netlink_tunnel.c
br_netlink.c net: bridge: vlan: notify on vlan add/delete/change flags 2020-01-15 13:48:18 +01:00
br_nf_core.c net: add bool confirm_neigh parameter for dst_ops.update_pmtu 2019-12-24 22:28:54 -08:00
br_private_stp.h
br_private_tunnel.h
br_private.h net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br_stp_bpdu.c net: bridge: add STP xstats 2019-12-14 20:02:36 -08:00
br_stp_if.c
br_stp_timer.c
br_stp.c bridge: br_stp: Use built-in RCU list checking 2020-02-19 11:13:43 -08:00
br_switchdev.c
br_sysfs_br.c
br_sysfs_if.c
br_vlan_options.c net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br_vlan_tunnel.c
br_vlan.c net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br.c treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
Kconfig
Makefile net: bridge: vlan: add basic option dumping support 2020-01-24 12:58:14 +01:00