forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
da4eb27a2c
commit
260bee9451
@ -439,13 +439,17 @@ static ssize_t debugfs_read(struct file *filp, char __user *ubuf, size_t count,
|
|||||||
char *buf;
|
char *buf;
|
||||||
ssize_t ret, out_offset, out_count;
|
ssize_t ret, out_offset, out_count;
|
||||||
|
|
||||||
|
qp = filp->private_data;
|
||||||
|
|
||||||
|
if (!qp || !qp->link_is_up)
|
||||||
|
return 0;
|
||||||
|
|
||||||
out_count = 1000;
|
out_count = 1000;
|
||||||
|
|
||||||
buf = kmalloc(out_count, GFP_KERNEL);
|
buf = kmalloc(out_count, GFP_KERNEL);
|
||||||
if (!buf)
|
if (!buf)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
qp = filp->private_data;
|
|
||||||
out_offset = 0;
|
out_offset = 0;
|
||||||
out_offset += snprintf(buf + out_offset, out_count - out_offset,
|
out_offset += snprintf(buf + out_offset, out_count - out_offset,
|
||||||
"NTB QP stats\n");
|
"NTB QP stats\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user