netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jon Mason <jon.mason@intel.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	Dave Jiang <dave.jiang@intel.com>,
	Nicholas Bellinger <nab@linux-iscsi.org>
Subject: [PATCH 02/21] NTB: Handle ntb client device probes without present hardware
Date: Sat, 19 Jan 2013 02:02:16 -0700	[thread overview]
Message-ID: <1358586155-23322-3-git-send-email-jon.mason@intel.com> (raw)
In-Reply-To: <1358586155-23322-1-git-send-email-jon.mason@intel.com>

Attempts to probe client ntb drivers without ntb hardware present will
result in null pointer dereference due to the lack of the ntb bus device
being registers.  Check to see if this is the case, and fail all calls
by the clients registering their drivers.

Signed-off-by: Jon Mason <jon.mason@intel.com>
---
 drivers/ntb/ntb_transport.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index 250190f..1d17857 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -288,6 +288,9 @@ int ntb_register_client_dev(char *device_name)
 	struct ntb_transport *nt;
 	int rc;
 
+	if (list_empty(&ntb_transport_list))
+		return -ENODEV;
+
 	list_for_each_entry(nt, &ntb_transport_list, entry) {
 		struct device *dev;
 
@@ -336,6 +339,9 @@ int ntb_register_client(struct ntb_client *drv)
 {
 	drv->driver.bus = &ntb_bus_type;
 
+	if (list_empty(&ntb_transport_list))
+		return -ENODEV;
+
 	return driver_register(&drv->driver);
 }
 EXPORT_SYMBOL_GPL(ntb_register_client);
-- 
1.7.9.5

  parent reply	other threads:[~2013-01-19  9:02 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-19  9:02 [PATCH 0/21] NTB and ntb_netdev patches Jon Mason
2013-01-19  9:02 ` [PATCH 01/21] NTB: correct missing readq/writeq errors Jon Mason
2013-01-20 23:40   ` Greg KH
2013-01-21 17:38     ` Jon Mason
2013-01-21 18:23       ` Greg KH
2013-01-21 20:34         ` Ben Hutchings
2013-01-21 20:47           ` Greg KH
2013-01-19  9:02 ` Jon Mason [this message]
2013-01-19  9:02 ` [PATCH 03/21] NTB: correct memory barrier Jon Mason
2013-01-19  9:02 ` [PATCH 04/21] NTB: separate transmit and receive windows Jon Mason
2013-01-19  9:02 ` [PATCH 05/21] NTB: No sleeping in interrupt context Jon Mason
2013-01-19  9:02 ` [PATCH 06/21] NTB: use simple_open for debugfs Jon Mason
2013-01-19  9:02 ` [PATCH 07/21] NTB: zero PCI driver data Jon Mason
2013-01-20 23:41   ` Greg KH
2013-01-19  9:02 ` [PATCH 08/21] NTB: declare unused variables Jon Mason
2013-01-20 23:42   ` Greg KH
2013-01-21 17:50     ` Jon Mason
2013-01-21 18:25       ` Greg KH
2013-01-19  9:02 ` [PATCH 09/21] NTB: namespacecheck cleanups Jon Mason
2013-01-19  9:02 ` [PATCH 10/21] NTB: whitespace cleanups Jon Mason
2013-01-19  9:02 ` [PATCH 11/21] NTB: correct stack usage warning in debugfs_read Jon Mason
2013-01-19  9:02 ` [PATCH 12/21] NTB: Remove reads across NTB Jon Mason
2013-01-19  9:02 ` [PATCH 13/21] NTB: Out of free receive entries issue Jon Mason
2013-01-19  9:02 ` [PATCH 14/21] NTB: Fix Sparse Warnings Jon Mason
2013-01-20 23:45   ` Greg KH
2013-01-21 21:13     ` Jon Mason
2013-01-21 21:37       ` Greg KH
2013-01-21 22:28         ` Jon Mason
2013-01-19  9:02 ` [PATCH 15/21] NTB: Update Version Jon Mason
2013-01-20 23:47   ` Greg KH
2013-01-21 17:57     ` Jon Mason
2013-01-21 18:26       ` Greg KH
2013-01-19  9:02 ` [PATCH 16/21] ntb_netdev: remove init/exit from probe/remove Jon Mason
2013-01-19  9:02 ` [PATCH 17/21] ntb_netdev: correct skb leak Jon Mason
2013-01-19  9:02 ` [PATCH 18/21] ntb_netdev: remove tx timeout Jon Mason
2013-01-19  9:02 ` [PATCH 19/21] ntb_netdev: declare unused variables and fix missing initializer Jon Mason
2013-01-20 23:47   ` Greg KH
2013-01-19  9:02 ` [PATCH 20/21] ntb_netdev: improve logging Jon Mason
2013-01-19 18:51   ` Joe Perches
2013-01-19  9:02 ` [PATCH 21/21] ntb_netdev: Update Version Jon Mason
2013-01-20 23:48 ` [PATCH 0/21] NTB and ntb_netdev patches Greg KH

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=1358586155-23322-3-git-send-email-jon.mason@intel.com \
    --to=jon.mason@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nab@linux-iscsi.org \
    --cc=netdev@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).