On Fri, 2021-01-15 at 12:48 -0800, Joe Perches wrote: > On Fri, 2021-01-15 at 10:07 -0800, James Bottomley wrote: > > On Fri, 2021-01-15 at 09:26 -0800, James Bottomley wrote: > > > On Fri, 2021-01-15 at 14:54 +0100, Greg KH wrote: > > > > On Thu, Jan 14, 2021 at 04:21:08PM -0800, James Bottomley > > > > wrote: > > > [...] > > > > > It looks like we already have a couple of bugs in the kernel > > > > > introduced by this confusion ... return sysfs_emit() vs > > > > > return > > > > > sysfs_emit_at() being the most tricky ... > > > > > > > > Hm, Joe, you did the conversion to these functions (and wrote > > > > the > > > > api), care to review this? > > > > > > A cursory glance tells me that summary_show in > > > drivers/infiniband/hw/usnic/usnic_ib_sysfs.c has a problem, I > > > think the last = should be += > > No, it's correct and overwriting what would otherwise be a trailing > space. The last two lines of summary_show() are len = sysfs_emit_at(buf, len, "\n"); return len; So that always returns 2: the length of "\n", rather than the length of everything you just put into buf, which is what sysfs attributes are supposed to return. James