Re: [PATCH] iio: backend: fix uninitialized data in debugfs

Nuno Sá <[email protected]>
Newsgroups gmane.linux.kernel.iio,gmane.linux.kernel,gmane.linux.kernel.janitors
Message-ID <[email protected]>
On Fri, 2026-06-05 at 11:28 +0300, Andy Shevchenko wrote:
> On Fri, Jun 05, 2026 at 09:12:38AM +0300, Dan Carpenter wrote:
> > On Thu, Jun 04, 2026 at 05:55:08PM +0300, Andy Shevchenko wrote:
> > > On Thu, Jun 04, 2026 at 01:42:11PM +0300, Dan Carpenter wrote:
> > > > On Thu, Jun 04, 2026 at 01:38:50PM +0300, Dan Carpenter wrote:
> > > > >    168          ret = sscanf(buf, "%i %i", &back->cached_reg_addr, &val);
> > > > >                              ^^^
> > > > > Uninitialized variable.
> > > > 
> > > > s/variable/data/.
> > > 
> > > With what I asked in the previous reply and what you explained there
> > > (thanks, btw!) I still think your patches are not fully correct. They
> > > will require to atomically write all or nothing. If we want support
> > > partial writes we need to go with that differently (reset ppos when
> > > we got enough or more than enough data).
> > 
> > Requiring writes to syfs and debugfs be atomic is pretty normal and
> > works well in practice.  These are very small writes.
> 
> Perhaps. In any case your patch will break existing partial writes, right?
> I'm still considering that resetting ppos is the right thing to do. Just
> need to find where the best place is to do that.

I think anyone doing partial writes on a debugfs interface like this one is very
unlikely but it is a fair point, yes. But can't we be more relaxed on debugfs? No
userspace app should be relying on debugfs in order to work (though I know that
actually happens).

Anyways, this is one of those interesting edge cases and easy enough to get wrong. I
guess we should either:

1. Improve simple_write_to_buffer() docs;
2. Or come up with a new simple_write_once_to_buffer() helper?

- Nuno Sá
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.