summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorBart Van Assche2016-02-11 20:10:09 +0100
committerDoug Ledford2016-02-29 23:12:36 +0100
commit387add460dc2f61567fa127bd76dab8ba6833234 (patch)
tree6095535d3363c22c4e71c4119fb0990d0fb0fa4c /README
parentIB/srpt: Introduce srpt_process_wait_list() (diff)
downloadkernel-qcow2-linux-387add460dc2f61567fa127bd76dab8ba6833234.tar.gz
kernel-qcow2-linux-387add460dc2f61567fa127bd76dab8ba6833234.tar.xz
kernel-qcow2-linux-387add460dc2f61567fa127bd76dab8ba6833234.zip
IB/srpt: Fix wait list processing
Since the wait list is not protected against concurrent access it must be processed from the context of the completion handler. Replace the wait list processing code in the IB CM RTU callback handler by code that triggers a completion handler. This patch fixes the following rare crash: WARNING: CPU: 2 PID: 78656 at lib/list_debug.c:53 __list_del_entry+0x67/0xd0() list_del corruption, ffff88041ae404b8->next is LIST_POISON1 (dead000000000100) Call Trace: [<ffffffff81251c6b>] dump_stack+0x4f/0x74 [<ffffffff810574ab>] warn_slowpath_common+0x8b/0xd0 [<ffffffff81057591>] warn_slowpath_fmt+0x41/0x70 [<ffffffff8126f007>] __list_del_entry+0x67/0xd0 [<ffffffff8126f081>] list_del+0x11/0x40 [<ffffffffa0265242>] srpt_cm_handler+0x172/0x1a4 [ib_srpt] [<ffffffffa0370370>] cm_process_work+0x20/0xf0 [ib_cm] [<ffffffffa0370dae>] cm_establish_handler+0xbe/0x110 [ib_cm] [<ffffffffa03733e7>] cm_work_handler+0x67/0xd0 [ib_cm] [<ffffffff8107184d>] process_one_work+0x1bd/0x460 [<ffffffff81073148>] worker_thread+0x118/0x420 [<ffffffff81078444>] kthread+0xe4/0x100 [<ffffffff8151caff>] ret_from_fork+0x3f/0x70 Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Alex Estrin <alex.estrin@intel.com> Cc: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions