Yonatan Cohen
1454ca3a97
IB/rxe: Fix kernel panic in UDP tunnel with GRO and RX checksum
Missing initialization of udp_tunnel_sock_cfg causes to following
kernel panic, while kernel tries to execute gro_receive().
While being there, we converted udp_port_cfg to use the same
initialization scheme as udp_tunnel_sock_cfg.
------------[ cut here ]------------
kernel tried to execute NX-protected page - exploit attempt? (uid: 0)
BUG: unable to handle kernel paging request at ffffffffa0588c50
IP: [<ffffffffa0588c50>] __this_module+0x50/0xffffffffffff8400 [ib_rxe]
PGD 1c09067 PUD 1c0a063 PMD bb394067 PTE 80000000ad5e8163
Oops: 0011 [#1] SMP
Modules linked in: ib_rxe ip6_udp_tunnel udp_tunnel
CPU: 5 PID: 0 Comm: swapper/5 Not tainted 4.7.0-rc3+ #2
Hardware name: Red Hat KVM, BIOS Bochs 01/01/2011
task: ffff880235e4e680 ti: ffff880235e68000 task.ti: ffff880235e68000
RIP: 0010:[<ffffffffa0588c50>]
[<ffffffffa0588c50>] __this_module+0x50/0xffffffffffff8400 [ib_rxe]
RSP: 0018:ffff880237343c80 EFLAGS: 00010282
RAX: 00000000dffe482d RBX: ffff8800ae330900 RCX: 000000002001b712
RDX: ffff8800ae330900 RSI: ffff8800ae102578 RDI: ffff880235589c00
RBP: ffff880237343cb0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff8800ae33e262
R13: ffff880235589c00 R14: 0000000000000014 R15: ffff8800ae102578
FS: 0000000000000000(0000) GS:ffff880237340000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffa0588c50 CR3: 0000000001c06000 CR4: 00000000000006e0
Stack:
ffffffff8160860e ffff8800ae330900 ffff8800ae102578 0000000000000014
000000000000004e ffff8800ae102578 ffff880237343ce0 ffffffff816088fb
0000000000000000 ffff8800ae330900 0000000000000000 00000000ffad0000
Call Trace:
<IRQ>
[<ffffffff8160860e>] ? udp_gro_receive+0xde/0x130
[<ffffffff816088fb>] udp4_gro_receive+0x10b/0x2d0
[<ffffffff81611373>] inet_gro_receive+0x1d3/0x270
[<ffffffff81594e29>] dev_gro_receive+0x269/0x3b0
[<ffffffff81595188>] napi_gro_receive+0x38/0x120
[<ffffffffa011caee>] mlx5e_handle_rx_cqe+0x27e/0x340 [mlx5_core]
[<ffffffffa011d076>] mlx5e_poll_rx_cq+0x66/0x6d0 [mlx5_core]
[<ffffffffa011d7ae>] mlx5e_napi_poll+0x8e/0x400 [mlx5_core]
[<ffffffff815949a0>] net_rx_action+0x160/0x380
[<ffffffff816a9197>] __do_softirq+0xd7/0x2c5
[<ffffffff81085c35>] irq_exit+0xf5/0x100
[<ffffffff816a8f16>] do_IRQ+0x56/0xd0
[<ffffffff816a6dcc>] common_interrupt+0x8c/0x8c
<EOI>
[<ffffffff81061f96>] ? native_safe_halt+0x6/0x10
[<ffffffff81037ade>] default_idle+0x1e/0xd0
[<ffffffff8103828f>] arch_cpu_idle+0xf/0x20
[<ffffffff810c37dc>] default_idle_call+0x3c/0x50
[<ffffffff810c3b13>] cpu_startup_entry+0x323/0x3c0
[<ffffffff81050d8c>] start_secondary+0x15c/0x1a0
RIP [<ffffffffa0588c50>] __this_module+0x50/0xffffffffffff8400 [ib_rxe]
RSP <ffff880237343c80>
CR2: ffffffffa0588c50
---[ end trace 489ee31fa7614ac5 ]---
Kernel panic - not syncing: Fatal exception in interrupt
Kernel Offset: disabled
---[ end Kernel panic - not syncing: Fatal exception in interrupt
------------[ cut here ]------------
Fixes: 8700e3e7c4 ("Soft RoCE driver")
Signed-off-by: Yonatan Cohen <yonatanc@mellanox.com>
Reviewed-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-11-16 20:03:44 -05:00
..
2016-10-29 01:58:03 +02:00
2016-10-24 19:37:48 +02:00
2016-10-25 11:43:07 -04:00
2016-10-06 17:03:41 +02:00
2016-10-27 17:47:12 +02:00
2016-10-27 18:43:43 -07:00
2016-10-07 09:46:56 +02:00
2016-10-17 13:46:09 -07:00
2016-10-24 21:34:13 -07:00
2016-10-20 16:37:56 -07:00
2016-10-20 21:58:58 +02:00
2016-10-29 01:29:17 +02:00
2016-10-15 09:26:12 -07:00
2016-10-10 14:04:16 -07:00
2016-10-27 17:04:05 -07:00
2016-10-11 00:01:20 +02:00
2016-10-06 17:13:54 -07:00
2016-10-11 18:12:22 -07:00
2016-10-04 12:06:26 -07:00
2016-10-26 16:04:29 +09:00
2016-10-09 11:38:11 +02:00
2016-10-19 14:49:44 +02:00
2016-10-24 02:20:40 +02:00
2016-10-26 16:48:01 +10:00
2016-10-10 10:58:22 +02:00
2016-10-25 08:52:10 +02:00
2016-10-17 10:16:20 -07:00
2016-10-25 12:15:00 +02:00
2016-10-07 18:46:30 -07:00
2016-10-24 10:50:13 +02:00
2016-11-16 20:03:44 -05:00
2016-10-14 13:19:30 -07:00
2016-10-11 12:52:41 -07:00
2016-10-27 18:43:43 -07:00
2016-10-21 21:40:29 +02:00
2016-10-07 14:42:05 -07:00
2016-10-06 17:36:53 -07:00
2016-09-27 12:33:47 +02:00
2016-10-28 09:27:58 -07:00
2016-10-19 08:39:47 -07:00
2016-10-07 21:23:40 -07:00
2016-10-17 15:43:05 +02:00
2016-10-07 08:35:35 -07:00
2016-10-29 11:19:02 -07:00
2016-10-17 15:43:03 +02:00
2016-10-28 14:48:18 +02:00
2016-10-14 13:43:08 -07:00
2016-10-27 16:16:21 -07:00
2016-10-21 10:54:01 -07:00
2016-10-07 21:23:40 -07:00
2016-10-15 09:26:12 -07:00
2016-10-10 20:16:43 -07:00
2016-10-26 12:05:34 +02:00
2016-10-17 15:50:07 +01:00
2016-10-18 14:38:16 +02:00
2016-10-19 11:45:06 -07:00
2016-10-06 18:21:15 -07:00
2016-10-11 15:06:32 -07:00
2016-10-13 10:20:06 -04:00
2016-10-19 08:11:43 -07:00
2016-10-12 11:05:23 -07:00
2016-10-06 17:03:49 -07:00
2016-10-22 18:31:42 +09:00
2016-10-14 13:13:44 -07:00
2016-10-27 14:16:30 -07:00
2016-10-27 10:08:58 -07:00
2016-10-14 11:07:42 -07:00
2016-10-11 15:06:33 -07:00
2016-09-27 12:43:34 +02:00
2016-10-29 10:20:59 -07:00
2016-10-21 01:19:44 -07:00
2016-10-20 14:15:44 +08:00
2016-10-28 08:13:07 -04:00
2016-10-25 16:14:32 +08:00
2016-09-29 13:36:38 -06:00
2016-10-19 08:39:47 -07:00
2016-10-19 08:11:43 -07:00
2016-10-28 08:25:18 -04:00
2016-10-21 22:24:23 +02:00
2016-10-24 19:52:24 -07:00
2016-10-23 15:56:23 -07:00