Linus Lüssing
44bc7d1b97
net: fix bridge multicast packet checksum validation
[ Upstream commit 9b368814b3 ]
We need to update the skb->csum after pulling the skb, otherwise
an unnecessary checksum (re)computation can ocure for IGMP/MLD packets
in the bridge code. Additionally this fixes the following splats for
network devices / bridge ports with support for and enabled RX checksum
offloading:
[...]
[ 43.986968] eth0: hw csum failure
[ 43.990344] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.4.0 #2
[ 43.996193] Hardware name: BCM2709
[ 43.999647] [<800204e0>] (unwind_backtrace) from [<8001cf14>] (show_stack+0x10/0x14)
[ 44.007432] [<8001cf14>] (show_stack) from [<801ab614>] (dump_stack+0x80/0x90)
[ 44.014695] [<801ab614>] (dump_stack) from [<802e4548>] (__skb_checksum_complete+0x6c/0xac)
[ 44.023090] [<802e4548>] (__skb_checksum_complete) from [<803a055c>] (ipv6_mc_validate_checksum+0x104/0x178)
[ 44.032959] [<803a055c>] (ipv6_mc_validate_checksum) from [<802e111c>] (skb_checksum_trimmed+0x130/0x188)
[ 44.042565] [<802e111c>] (skb_checksum_trimmed) from [<803a06e8>] (ipv6_mc_check_mld+0x118/0x338)
[ 44.051501] [<803a06e8>] (ipv6_mc_check_mld) from [<803b2c98>] (br_multicast_rcv+0x5dc/0xd00)
[ 44.060077] [<803b2c98>] (br_multicast_rcv) from [<803aa510>] (br_handle_frame_finish+0xac/0x51c)
[...]
Fixes: 9afd85c9e4 ("net: Export IGMP/MLD message validation code")
Reported-by: Álvaro Fernández Rojas <noltari@gmail.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>
2016-04-20 15:41:58 +09:00
..
2016-03-03 15:07:26 -08:00
2015-12-10 19:13:26 +01:00
2015-11-13 21:53:18 -08:00
2015-12-08 12:42:44 -05:00
2016-01-31 11:29:01 -08:00
2016-01-05 16:00:03 -08:00
2015-12-10 13:49:24 +01:00
2016-04-12 09:08:32 -07:00
2015-12-07 14:14:03 -05:00
2015-11-10 15:00:03 -08:00
2015-11-10 14:48:36 -08:00
2015-11-11 20:11:28 -08:00
2015-12-23 22:52:08 -05:00
2015-12-04 14:01:17 +01:00
2016-03-09 15:34:52 -08:00
2016-03-16 08:43:01 -07:00
2015-12-09 10:35:16 -08:00
2015-11-11 09:37:34 -07:00
2016-03-09 15:34:56 -08:00
2015-11-25 12:14:09 -05:00
2015-11-11 02:19:33 -05:00
2016-04-12 09:08:54 -07:00
2015-12-03 10:18:21 -05:00
2016-04-20 15:41:54 +09:00
2016-02-25 12:01:16 -08:00
2015-11-20 16:17:32 -08:00
2016-02-17 12:30:57 -08:00
2015-12-02 23:50:33 +01:00
2016-03-03 15:07:28 -08:00
2016-03-09 15:34:49 -08:00
2016-04-12 09:08:39 -07:00
2016-02-25 12:01:14 -08:00
2015-11-18 16:27:46 -05:00
2016-03-03 15:07:09 -08:00
2015-12-11 11:05:57 -08:00
2016-01-06 00:43:52 -05:00
2016-04-12 09:08:58 -07:00
2016-01-07 12:17:39 -05:00
2015-11-20 16:17:32 -08:00
2016-02-17 12:30:57 -08:00
2016-03-03 15:07:16 -08:00
2016-02-25 12:01:22 -08:00
2015-12-02 23:37:16 -05:00
2015-11-23 09:44:58 +01:00
2016-04-12 09:09:00 -07:00
2015-12-12 10:15:34 -08:00
2015-11-28 19:33:29 -08:00
2015-11-19 14:25:32 +01:00
2016-03-09 15:34:52 -08:00
2015-12-07 09:14:19 -07:00
2015-11-23 09:44:58 +01:00
2015-11-17 15:25:43 -05:00
2015-12-18 14:25:40 -08:00
2016-03-09 15:34:56 -08:00
2015-12-01 15:45:05 -05:00
2015-12-06 22:32:32 -05:00
2016-03-03 15:07:28 -08:00
2015-11-23 21:57:44 -05:00
2015-11-10 17:27:12 -06:00
2015-11-16 09:03:21 +05:30
2015-12-09 09:23:28 -06:00
2015-11-12 11:50:33 -08:00
2015-11-10 17:27:12 -06:00
2016-04-12 09:08:37 -07:00
2015-11-23 09:21:03 +01:00
2015-11-23 09:44:58 +01:00
2016-02-25 12:01:16 -08:00
2016-02-25 12:01:23 -08:00
2015-12-04 14:38:26 -05:00
2016-02-25 12:01:21 -08:00
2016-01-31 11:28:59 -08:00
2015-11-19 16:22:43 +01:00
2016-03-03 15:07:23 -08:00
2015-11-20 16:17:32 -08:00
2016-04-20 15:41:58 +09:00
2015-11-22 11:58:44 -08:00
2015-12-12 10:15:34 -08:00
2015-11-25 15:49:13 +00:00
2015-11-13 21:53:18 -08:00
2016-04-12 09:08:35 -07:00
2016-03-09 15:34:52 -08:00
2016-03-16 08:42:58 -07:00
2016-04-12 09:08:49 -07:00
2015-11-25 15:49:13 +00:00
2016-03-03 15:07:08 -08:00
2015-11-23 09:44:58 +01:00
2016-01-31 11:28:58 -08:00
2015-12-04 08:38:42 -07:00
2015-12-29 17:45:49 -08:00
2015-12-13 14:30:59 -08:00
2016-03-09 15:34:52 -08:00
2015-11-13 20:34:33 -05:00