linux/drivers/infiniband/hw/i40iw
Shiraz Saleem f300ba2d1e RDMA/i40iw: Remove MSS change support
MSS change on active QPs is not supported. Store new MSS
value for new QPs only. Remove code to modify MSS on the fly.
This also resolves a crash on QP modify to QP 0.

BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
IP: i40iw_sc_qp_modify+0x22/0x280 [i40iw]
Oops: 0000 [#1] SMP KASAN
CPU: 2 PID: 1236 Comm: kworker/u16:4 Not tainted 4.12.0-rc1 #5
Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./Q87M-D2H,
BIOS F7 01/17/2014
Workqueue: l2params i40iw_l2params_worker [i40iw]
task: ffff88070f5a9b40 task.stack: ffff88070f5a0000
RIP: 0010:i40iw_sc_qp_modify+0x22/0x280 [i40iw]
...
Call Trace:
i40iw_exec_cqp_cmd+0x2ce/0x410 [i40iw]
? _raw_spin_lock_irqsave+0x6f/0x80
? i40iw_process_cqp_cmd+0x1d/0x80 [i40iw]
i40iw_process_cqp_cmd+0x7c/0x80 [i40iw]
i40iw_handle_cqp_op+0x2f/0x200 [i40iw]
? trace_hardirqs_off+0xd/0x10
? _raw_spin_unlock_irqrestore+0x46/0x50
i40iw_hw_modify_qp+0x5e/0x90 [i40iw]
i40iw_qp_mss_modify+0x52/0x60 [i40iw]
i40iw_change_l2params+0x145/0x160 [i40iw]
i40iw_l2params_worker+0x1f/0x40 [i40iw]
process_one_work+0x1f5/0x650
? process_one_work+0x161/0x650
worker_thread+0x48/0x3b0
kthread+0x112/0x150
? process_one_work+0x650/0x650
? kthread_create_on_node+0x40/0x40
ret_from_fork+0x2e/0x40
Code: 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 56 41 55 41 89 cd 41 54 49 89 fc
53 48 89 f3 48 89 d6 48 83 ec 08 48 8b 87 10 01 00 00 <48> 8b 40 08 4c 8b b0 40 04
00 00 4c 89 f7 e8 1b e5 ff ff 48 85
RIP: i40iw_sc_qp_modify+0x22/0x280 [i40iw] RSP: ffff88070f5a7c28
CR2: 0000000000000008
---[ end trace 77a405931e296060 ]---

Reported-by: Stefan Assmann <sassmann@redhat.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-06-01 16:59:52 -04:00
..
i40iw_cm.c RDMA/i40iw: ACK MPA Reject frame 2017-06-01 16:59:40 -04:00
i40iw_cm.h i40iw: Set TOS field in IP header 2016-12-05 16:09:42 -05:00
i40iw_ctrl.c RDMA/i40iw: Remove MSS change support 2017-06-01 16:59:52 -04:00
i40iw_d.h i40iw: Reorganize structures to align with HW capabilities 2016-12-12 17:20:29 -05:00
i40iw_hmc.c i40iw: add hmc resource files 2016-02-29 17:10:53 -05:00
i40iw_hmc.h i40iw: add hmc resource files 2016-02-29 17:10:53 -05:00
i40iw_hw.c i40iw: Reorganize structures to align with HW capabilities 2016-12-12 17:20:29 -05:00
i40iw_main.c RDMA/i40iw: Fix device initialization error path 2017-06-01 16:59:46 -04:00
i40iw_osdep.h RDMA/i40iw: Remove MSS change support 2017-06-01 16:59:52 -04:00
i40iw_p.h i40iw: Reorganize structures to align with HW capabilities 2016-12-12 17:20:29 -05:00
i40iw_pble.c i40iw: Code cleanup, remove check of PBLE pages 2016-12-05 16:09:44 -05:00
i40iw_pble.h i40iw: add pble resource files 2016-02-29 17:10:53 -05:00
i40iw_puda.c i40iw: Set 128B as the only supported RQ WQE size 2016-12-22 11:36:12 -05:00
i40iw_puda.h i40iw: Reorganize structures to align with HW capabilities 2016-12-12 17:20:29 -05:00
i40iw_register.h i40iw: add X722 register file 2016-03-16 13:50:53 -04:00
i40iw_status.h RDMA/i40iw: Fix for checking if the QP is destroyed 2016-04-28 16:32:55 -04:00
i40iw_type.h RDMA/i40iw: Remove MSS change support 2017-06-01 16:59:52 -04:00
i40iw_ucontext.h i40iw: Set 128B as the only supported RQ WQE size 2016-12-22 11:36:12 -05:00
i40iw_uk.c RDMA/i40iw: use designated initializers 2017-01-12 11:38:41 -05:00
i40iw_user.h i40iw: Set 128B as the only supported RQ WQE size 2016-12-22 11:36:12 -05:00
i40iw_utils.c RDMA/i40iw: Remove MSS change support 2017-06-01 16:59:52 -04:00
i40iw_verbs.c IB/core: Rename struct ib_ah_attr to rdma_ah_attr 2017-05-01 14:32:43 -04:00
i40iw_verbs.h i40iw: Set 128B as the only supported RQ WQE size 2016-12-22 11:36:12 -05:00
i40iw_vf.c i40iw: constify i40iw_vf_cqp_ops structure 2016-05-13 13:47:07 -04:00
i40iw_vf.h i40iw: constify i40iw_vf_cqp_ops structure 2016-05-13 13:47:07 -04:00
i40iw_virtchnl.c i40iw: Reorganize structures to align with HW capabilities 2016-12-12 17:20:29 -05:00
i40iw_virtchnl.h i40iw: virtual channel handling files 2016-03-16 13:50:53 -04:00
i40iw.h i40iw: Reorganize structures to align with HW capabilities 2016-12-12 17:20:29 -05:00
Kconfig i40iw: Kconfig and Makefile for iwarp module 2016-03-16 13:50:54 -04:00
Makefile i40iw: Kconfig and Makefile for iwarp module 2016-03-16 13:50:54 -04:00