summaryrefslogtreecommitdiffstats
path: root/drivers/ntb
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2015-07-13 08:07:11 -0400
committerJon Mason <jdmason@kudzu.us>2015-08-09 16:32:22 -0400
commit260bee9451b4f0f5f9845c5b3024f0bfb8de8f22 (patch)
treedba4fe246963f2d57fa4b80d4b06325f3dea013c /drivers/ntb
parentda4eb27a2c2efd034bdd645650114b82c479329c (diff)
downloadop-kernel-dev-260bee9451b4f0f5f9845c5b3024f0bfb8de8f22.zip
op-kernel-dev-260bee9451b4f0f5f9845c5b3024f0bfb8de8f22.tar.gz
NTB: Fix oops in debugfs when transport is half-up
When the remote side is not up, we do not have all the context for the transport, and that causes NULL ptr access. Have the debugfs reads check to see if transport is up before we make access. Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Jon Mason <jdmason@kudzu.us>
Diffstat (limited to 'drivers/ntb')
-rw-r--r--drivers/ntb/ntb_transport.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index 25e973f..a049f96 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -439,13 +439,17 @@ static ssize_t debugfs_read(struct file *filp, char __user *ubuf, size_t count,
char *buf;
ssize_t ret, out_offset, out_count;
+ qp = filp->private_data;
+
+ if (!qp || !qp->link_is_up)
+ return 0;
+
out_count = 1000;
buf = kmalloc(out_count, GFP_KERNEL);
if (!buf)
return -ENOMEM;
- qp = filp->private_data;
out_offset = 0;
out_offset += snprintf(buf + out_offset, out_count - out_offset,
"NTB QP stats\n");
OpenPOWER on IntegriCloud