[PATCH 00/28] iio: zero init stack with { } instead of memset()

Pavel Machek pavel at ucw.cz
Fri Jun 13 23:47:25 PDT 2025


On Thu 2025-06-12 22:10:07, Andy Shevchenko wrote:
> On Thu, Jun 12, 2025 at 08:54:07PM +0200, Pavel Machek wrote:
> > > On Thursday, 12 June 2025 11:17:52 Central European Summer Time Pavel Machek wrote:
> > > > 
> > > > > Jonathan mentioned recently that he would like to get away from using
> > > > > memset() to zero-initialize stack memory in the IIO subsystem. And we
> > > > > have it on good authority that initializing a struct or array with = { }
> > > > > is the preferred way to do this in the kernel [1]. So here is a series
> > > > > to take care of that.
> > > > 
> > > > 1) Is it worth the churn?
> > > > 
> > > > 2) Will this fail to initialize padding with some obscure compiler?
> > > 
> > > as of right now, the only two C compilers that are supported are
> > > GCC >= 8.1, and Clang >= 13.0.1. If anyone even manages to get the
> > > kernel
> > 
> > Well... I'm pretty sure parts of this would make it into -stable as a
> > dependency, or because AUTOSEL decides it is a bugfix. So..
> > 
> > GNU C                  4.9              gcc --version
> > Clang/LLVM (optional)  10.0.1           clang --version
> 
> Even though, what the kernel versions are you referring to? I am sure there
> plenty of cases with {} there.

5.10, for example. I'm sure they are, uninitialized padding is a
security hole, but rather hard to detect if they are not specifically
looking.

BR,
								Pavel
-- 
I don't work for Nazis and criminals, and neither should you.
Boycott Putin, Trump, and Musk!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20250614/280c48ee/attachment.sig>


More information about the linux-arm-kernel mailing list