public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>
To: Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: David Dillow <dave-i1Mk8JYDVaaSihdK6806/g@public.gmane.org>,
	Vu Pham <vuhuong-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Sebastian Riemer
	<sebastian.riemer-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>,
	linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: [PATCH v2 01/15] IB/srp: Fix remove_one crash due to resource exhaustion
Date: Fri, 28 Jun 2013 14:46:58 +0200	[thread overview]
Message-ID: <51CD85C2.2040106@acm.org> (raw)
In-Reply-To: <51CD856A.3010102-HInyCGIudOg@public.gmane.org>

From: Dotan Barak <dotanb-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>

If the add_one callback fails during driver load no resources are
allocated so there isn't a need to release any resources. Trying
to clean the resource may lead to the following kernel panic:

BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffffa0132331>] srp_remove_one+0x31/0x240 [ib_srp]
RIP: 0010:[<ffffffffa0132331>]  [<ffffffffa0132331>] srp_remove_one+0x31/0x240 [ib_srp]
Process rmmod (pid: 4562, threadinfo ffff8800dd738000, task ffff8801167e60c0)
Call Trace:
 [<ffffffffa024500e>] ib_unregister_client+0x4e/0x120 [ib_core]
 [<ffffffffa01361bd>] srp_cleanup_module+0x15/0x71 [ib_srp]
 [<ffffffff810ac6a4>] sys_delete_module+0x194/0x260
 [<ffffffff8100b0f2>] system_call_fastpath+0x16/0x1b

[bvanassche: Shortened patch description]
Signed-off-by: Dotan Barak <dotanb-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
Reviewed-by: Eli Cohen <eli-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>
Signed-off-by: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>
Acked-by: Sebastian Riemer <sebastian.riemer-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
Acked-by: David Dillow <dillowda-1Heg1YXhbW8@public.gmane.org>
Cc: Roland Dreier <roland-BHEL68pLQRGGvPXPguhicg@public.gmane.org>
Cc: Vu Pham <vu-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
 drivers/infiniband/ulp/srp/ib_srp.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index 7ccf328..368d160 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -2507,6 +2507,8 @@ static void srp_remove_one(struct ib_device *device)
 	struct srp_target_port *target;
 
 	srp_dev = ib_get_client_data(device, &srp_client);
+	if (!srp_dev)
+		return;
 
 	list_for_each_entry_safe(host, tmp_host, &srp_dev->dev_list, list) {
 		device_unregister(&host->dev);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2013-06-28 12:46 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-28 12:45 [PATCH v2 0/15] IB SRP initiator patches for kernel 3.11 Bart Van Assche
2013-06-28 12:53 ` [PATCH v2 08/15] scsi_transport_srp: Add transport layer error handling Bart Van Assche
2013-06-30 21:05   ` David Dillow
     [not found]     ` <1372626334.12468.34.camel-a7a0dvSY7KqLUyTwlgNVppKKF0rrzTr+@public.gmane.org>
2013-07-01  7:01       ` Bart Van Assche
     [not found]         ` <51D12941.3050105-HInyCGIudOg@public.gmane.org>
2013-07-01 11:19           ` David Dillow
2013-06-28 12:56 ` [PATCH v2 12/15] IB/srp: Fail SCSI commands silently Bart Van Assche
     [not found]   ` <51CD8812.20107-HInyCGIudOg@public.gmane.org>
2013-06-30 21:25     ` David Dillow
     [not found] ` <51CD856A.3010102-HInyCGIudOg@public.gmane.org>
2013-06-28 12:46   ` Bart Van Assche [this message]
2013-06-28 12:48   ` [PATCH v2 02/15] IB/srp: Fix race between srp_queuecommand() and srp_claim_req() Bart Van Assche
     [not found]     ` <51CD8604.5010801-HInyCGIudOg@public.gmane.org>
2013-06-28 14:42       ` Sebastian Riemer
     [not found]         ` <51CDA0CD.6060504-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2013-06-28 14:51           ` Bart Van Assche
     [not found]             ` <51CDA2E5.2010704-HInyCGIudOg@public.gmane.org>
2013-06-28 15:08               ` Sebastian Riemer
2013-06-30 19:59       ` David Dillow
     [not found]         ` <1372622347.12468.9.camel-a7a0dvSY7KqLUyTwlgNVppKKF0rrzTr+@public.gmane.org>
2013-07-01  7:10           ` Bart Van Assche
2013-06-28 12:49   ` [PATCH v2 03/15] IB/srp: Avoid that srp_reset_host() is skipped after a TL error Bart Van Assche
     [not found]     ` <51CD8644.5080600-HInyCGIudOg@public.gmane.org>
2013-06-30 20:00       ` David Dillow
2013-06-28 12:49   ` [PATCH v2 04/15] IB/srp: Fail I/O fast if target offline Bart Van Assche
     [not found]     ` <51CD8676.6080205-HInyCGIudOg@public.gmane.org>
2013-06-30 20:02       ` David Dillow
2013-07-01  9:07       ` Sebastian Riemer
     [not found]         ` <51D146EE.6010209-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2013-07-01 11:33           ` Bart Van Assche
     [not found]             ` <51D16918.60600-HInyCGIudOg@public.gmane.org>
2013-07-01 11:53               ` Sebastian Riemer
2013-07-01  9:25       ` Sebastian Riemer
     [not found]         ` <51D14AF1.4000803-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2013-07-01 11:38           ` Bart Van Assche
     [not found]             ` <51D16A39.4050709-HInyCGIudOg@public.gmane.org>
2013-07-01 12:31               ` Sebastian Riemer
     [not found]                 ` <51D176B5.90609-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2013-07-01 12:57                   ` Bart Van Assche
2013-07-02  8:30       ` Sebastian Riemer
2013-06-28 12:50   ` [PATCH v2 05/15] IB/srp: Skip host settle delay Bart Van Assche
2013-06-28 12:51   ` [PATCH v2 06/15] IB/srp: Maintain a single connection per I_T nexus Bart Van Assche
     [not found]     ` <51CD86CE.8080804-HInyCGIudOg@public.gmane.org>
2013-06-30 20:10       ` David Dillow
2013-06-28 12:52   ` [PATCH v2 07/15] IB/srp: Keep rport as long as the IB transport layer Bart Van Assche
2013-06-30 21:06     ` David Dillow
2013-06-28 12:54   ` [PATCH v2 09/15] IB/srp: Add srp_terminate_io() Bart Van Assche
     [not found]     ` <51CD877E.80606-HInyCGIudOg@public.gmane.org>
2013-06-30 21:10       ` David Dillow
2013-06-28 12:55   ` [PATCH v2 10/15] IB/srp: Use SRP transport layer error recovery Bart Van Assche
     [not found]     ` <51CD87A9.2090702-HInyCGIudOg@public.gmane.org>
2013-06-30 21:20       ` David Dillow
2013-06-28 12:55   ` [PATCH v2 11/15] IB/srp: Start timers if a transport layer error occurs Bart Van Assche
     [not found]     ` <51CD87D7.3050300-HInyCGIudOg@public.gmane.org>
2013-06-30 21:21       ` David Dillow
2013-06-28 12:57   ` [PATCH v2 13/15] IB/srp: Make HCA completion vector configurable Bart Van Assche
     [not found]     ` <51CD8846.4070400-HInyCGIudOg@public.gmane.org>
2013-06-30 21:26       ` David Dillow
2013-06-28 12:58   ` [PATCH v2 14/15] IB/srp: Make transport layer retry count configurable Bart Van Assche
     [not found]     ` <51CD8876.9020307-HInyCGIudOg@public.gmane.org>
2013-06-30 21:48       ` David Dillow
     [not found]         ` <1372628891.12468.52.camel-a7a0dvSY7KqLUyTwlgNVppKKF0rrzTr+@public.gmane.org>
2013-07-01  8:18           ` Bart Van Assche
     [not found]             ` <51D13B52.5060803-HInyCGIudOg@public.gmane.org>
2013-07-01 11:26               ` David Dillow
     [not found]                 ` <1372677965.12468.57.camel-a7a0dvSY7KqLUyTwlgNVppKKF0rrzTr+@public.gmane.org>
2013-07-01 11:44                   ` Bart Van Assche
2013-07-02 19:18                   ` Jason Gunthorpe
     [not found]                     ` <20130702191842.GD14625-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2013-07-03 14:26                       ` David Dillow
2013-06-28 12:59   ` [PATCH v2 15/15] IB/srp: Bump driver version and release date Bart Van Assche

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=51CD85C2.2040106@acm.org \
    --to=bvanassche-hinycgiudog@public.gmane.org \
    --cc=dave-i1Mk8JYDVaaSihdK6806/g@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sebastian.riemer-EIkl63zCoXaH+58JC4qpiA@public.gmane.org \
    --cc=vuhuong-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox