RDMA/usnic: Fix misuse of sysfs_emit_at
In commite28bf1f03b
("RDMA: Convert various random sprintf sysfs _show uses to sysfs_emit") I mistakenly used len = sysfs_emit_at to overwrite the last trailing space of potentially multiple entry output. Instead use a more common style by removing the trailing space from the output formats and adding a prefixing space to the contination formats and converting the final terminating output newline from the defective len = sysfs_emit_at(buf, len, "\n"); to the now appropriate and typical len += sysfs_emit_at(buf, len, "\n"); Fixes:e28bf1f03b
("RDMA: Convert various random sprintf sysfs _show uses to sysfs_emit") Link: https://lore.kernel.org/r/5eb794b9c9bca0494d94b2b209f1627fa4e7b555.camel@perches.com Reported-by: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
Родитель
de641d74fb
Коммит
f068cb1db2
|
@ -214,7 +214,7 @@ static ssize_t summary_show(struct usnic_ib_qp_grp *qp_grp, char *buf)
|
|||
struct usnic_vnic_res *vnic_res;
|
||||
int len;
|
||||
|
||||
len = sysfs_emit(buf, "QPN: %d State: (%s) PID: %u VF Idx: %hu ",
|
||||
len = sysfs_emit(buf, "QPN: %d State: (%s) PID: %u VF Idx: %hu",
|
||||
qp_grp->ibqp.qp_num,
|
||||
usnic_ib_qp_grp_state_to_string(qp_grp->state),
|
||||
qp_grp->owner_pid,
|
||||
|
@ -224,14 +224,13 @@ static ssize_t summary_show(struct usnic_ib_qp_grp *qp_grp, char *buf)
|
|||
res_chunk = qp_grp->res_chunk_list[i];
|
||||
for (j = 0; j < res_chunk->cnt; j++) {
|
||||
vnic_res = res_chunk->res[j];
|
||||
len += sysfs_emit_at(
|
||||
buf, len, "%s[%d] ",
|
||||
len += sysfs_emit_at(buf, len, " %s[%d]",
|
||||
usnic_vnic_res_type_to_str(vnic_res->type),
|
||||
vnic_res->vnic_idx);
|
||||
}
|
||||
}
|
||||
|
||||
len = sysfs_emit_at(buf, len, "\n");
|
||||
len += sysfs_emit_at(buf, len, "\n");
|
||||
|
||||
return len;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче