From: <gregkh@linuxfoundation.org>
To: swise@opengridcomputing.com, bart.vanassche@sandisk.com,
dledford@redhat.com, gregkh@linuxfoundation.org
Cc: <stable@vger.kernel.org>, <stable-commits@vger.kernel.org>
Subject: Patch "IB/core: correctly handle rdma_rw_init_mrs() failure" has been added to the 4.8-stable tree
Date: Wed, 26 Oct 2016 09:48:48 +0200 [thread overview]
Message-ID: <14774681281439@kroah.com> (raw)
This is a note to let you know that I've just added the patch titled
IB/core: correctly handle rdma_rw_init_mrs() failure
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ib-core-correctly-handle-rdma_rw_init_mrs-failure.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.
>From b6bc1c731f0b985e91f618561fc82c6e252dfaf4 Mon Sep 17 00:00:00 2001
From: Steve Wise <swise@opengridcomputing.com>
Date: Thu, 29 Sep 2016 07:31:33 -0700
Subject: IB/core: correctly handle rdma_rw_init_mrs() failure
From: Steve Wise <swise@opengridcomputing.com>
commit b6bc1c731f0b985e91f618561fc82c6e252dfaf4 upstream.
Function ib_create_qp() was failing to return an error when
rdma_rw_init_mrs() fails, causing a crash further down in ib_create_qp()
when trying to dereferece the qp pointer which was actually a negative
errno.
The crash:
crash> log|grep BUG
[ 136.458121] BUG: unable to handle kernel NULL pointer dereference at 0000000000000098
crash> bt
PID: 3736 TASK: ffff8808543215c0 CPU: 2 COMMAND: "kworker/u64:2"
#0 [ffff88084d323340] machine_kexec at ffffffff8105fbb0
#1 [ffff88084d3233b0] __crash_kexec at ffffffff81116758
#2 [ffff88084d323480] crash_kexec at ffffffff8111682d
#3 [ffff88084d3234b0] oops_end at ffffffff81032bd6
#4 [ffff88084d3234e0] no_context at ffffffff8106e431
#5 [ffff88084d323530] __bad_area_nosemaphore at ffffffff8106e610
#6 [ffff88084d323590] bad_area_nosemaphore at ffffffff8106e6f4
#7 [ffff88084d3235a0] __do_page_fault at ffffffff8106ebdc
#8 [ffff88084d323620] do_page_fault at ffffffff8106f057
#9 [ffff88084d323660] page_fault at ffffffff816e3148
[exception RIP: ib_create_qp+427]
RIP: ffffffffa02554fb RSP: ffff88084d323718 RFLAGS: 00010246
RAX: 0000000000000004 RBX: fffffffffffffff4 RCX: 000000018020001f
RDX: ffff880830997fc0 RSI: 0000000000000001 RDI: ffff88085f407200
RBP: ffff88084d323778 R8: 0000000000000001 R9: ffffea0020bae210
R10: ffffea0020bae218 R11: 0000000000000001 R12: ffff88084d3237c8
R13: 00000000fffffff4 R14: ffff880859fa5000 R15: ffff88082eb89800
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
#10 [ffff88084d323780] rdma_create_qp at ffffffffa0782681 [rdma_cm]
#11 [ffff88084d3237b0] nvmet_rdma_create_queue_ib at ffffffffa07c43f3 [nvmet_rdma]
#12 [ffff88084d323860] nvmet_rdma_alloc_queue at ffffffffa07c5ba9 [nvmet_rdma]
#13 [ffff88084d323900] nvmet_rdma_queue_connect at ffffffffa07c5c96 [nvmet_rdma]
#14 [ffff88084d323980] nvmet_rdma_cm_handler at ffffffffa07c6450 [nvmet_rdma]
#15 [ffff88084d3239b0] iw_conn_req_handler at ffffffffa0787480 [rdma_cm]
#16 [ffff88084d323a60] cm_conn_req_handler at ffffffffa0775f06 [iw_cm]
#17 [ffff88084d323ab0] process_event at ffffffffa0776019 [iw_cm]
#18 [ffff88084d323af0] cm_work_handler at ffffffffa0776170 [iw_cm]
#19 [ffff88084d323cb0] process_one_work at ffffffff810a1483
#20 [ffff88084d323d90] worker_thread at ffffffff810a211d
#21 [ffff88084d323ec0] kthread at ffffffff810a6c5c
#22 [ffff88084d323f50] ret_from_fork at ffffffff816e1ebf
Fixes: 632bc3f65081 ("IB/core, RDMA RW API: Do not exceed QP SGE send limit")
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/infiniband/core/verbs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -821,7 +821,7 @@ struct ib_qp *ib_create_qp(struct ib_pd
if (ret) {
pr_err("failed to init MR pool ret= %d\n", ret);
ib_destroy_qp(qp);
- qp = ERR_PTR(ret);
+ return ERR_PTR(ret);
}
}
Patches currently in stable-queue which might be from swise@opengridcomputing.com are
queue-4.8/ib-core-correctly-handle-rdma_rw_init_mrs-failure.patch
reply other threads:[~2016-10-26 7:48 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=14774681281439@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=bart.vanassche@sandisk.com \
--cc=dledford@redhat.com \
--cc=stable-commits@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=swise@opengridcomputing.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.