linux/net/bridge
Linus Lüssing 022ce825be bridge: fix igmpv3 / mldv2 report parsing
[ Upstream commit c2d4fbd216 ]

With the newly introduced helper functions the skb pulling is hidden in
the checksumming function - and undone before returning to the caller.

The IGMPv3 and MLDv2 report parsing functions in the bridge still
assumed that the skb is pointing to the beginning of the IGMP/MLD
message while it is now kept at the beginning of the IPv4/6 header,
breaking the message parsing and creating packet loss.

Fixing this by taking the offset between IP and IGMP/MLD header into
account, too.

Fixes: 9afd85c9e4 ("net: Export IGMP/MLD message validation code")
Reported-by: Tobias Powalowski <tobias.powalowski@googlemail.com>
Tested-by: Tobias Powalowski <tobias.powalowski@googlemail.com>
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-10-03 13:49:15 +02:00
..
netfilter Revert "netfilter: ensure number of counters is >0 in do_replace()" 2015-06-01 19:45:47 +02:00
br.c net: bridge: add compile-time assert for cb struct size 2015-03-03 14:07:04 -05:00
br_device.c netfilter: bridge: use rcu hook to resolve br_netfilter dependency 2015-03-10 15:03:02 +01:00
br_fdb.c bridge: disable softirqs around br_fdb_update to avoid lockup 2015-06-07 19:44:13 -07:00
br_forward.c bridge: fix potential crash in __netdev_pick_tx() 2015-09-29 19:26:21 +02:00
br_if.c bridge: reset bridge mtu after deleting an interface 2015-03-14 19:12:38 -04:00
br_input.c netfilter: Pass socket pointer down through okfn(). 2015-04-07 15:25:55 -04:00
br_ioctl.c bridge: fix br_stp_set_bridge_priority race conditions 2015-07-10 09:49:28 -07:00
br_mdb.c bridge: mdb: fix double add notification 2015-09-29 19:26:22 +02:00
br_multicast.c bridge: fix igmpv3 / mldv2 report parsing 2015-10-03 13:49:15 +02:00
br_netfilter.c Revert "netfilter: bridge: query conntrack about skb dnat" 2015-05-20 13:51:25 +02:00
br_netlink.c bridge: netlink: account for the IFLA_BRPORT_PROXYARP_WIFI attribute size and policy 2015-09-29 19:26:25 +02:00
br_nf_core.c net: Remove protocol from struct dst_ops 2015-03-09 16:06:10 -04:00
br_private.h bridge/nl: remove wrong use of NLM_F_MULTI 2015-04-29 14:59:16 -04:00
br_private_stp.h net: 8021q/bluetooth/bridge/can/ceph: Remove extern from function prototypes 2013-10-19 19:12:11 -04:00
br_stp.c bridge: call netdev_sw_port_stp_update when bridge port STP status changes 2014-12-02 20:01:22 -08:00
br_stp_bpdu.c netfilter: Pass socket pointer down through okfn(). 2015-04-07 15:25:55 -04:00
br_stp_if.c bridge: fix br_stp_set_bridge_priority race conditions 2015-07-10 09:49:28 -07:00
br_stp_timer.c bridge: fix lockdep splat 2015-05-22 16:23:56 -04:00
br_sysfs_br.c bridge: Add a default_pvid sysfs attribute 2014-10-05 21:21:36 -04:00
br_sysfs_if.c bridge: Extend Proxy ARP design to allow optional rules for Wi-Fi 2015-03-05 14:52:23 -05:00
br_vlan.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
Kconfig bridge: Add vlan filtering infrastructure 2013-02-13 19:41:46 -05:00
Makefile netfilter: bridge: build br_nf_core only if required 2014-09-30 14:07:51 -04:00