Re: kcsan -Wmaybe-uninitialized warning in ntfs3

David Laight <[email protected]> Thu, 23 Apr 2026 14:06:12 +0100
Newsgroups dev.linux.lists.ntfs3,org.kernel.vger.linux-kernel
Message-ID <20260423140612.46df8b78@pumpkin>
On Thu, 23 Apr 2026 13:35:09 +0200
Marco Elver <[email protected]> wrote:

> On Thu, 23 Apr 2026 at 10:12, David Laight <[email protected]> wrote:
> > On Wed, 22 Apr 2026 23:50:22 +0200
> > Marco Elver <[email protected]> wrote:
> >  
> > > Which means the simplest fix is probably the absolute_pointer() one.  
> >
> > I'm not sure that using absolute_pointer() is right, it is normally used
> > for special conversions in low level boot code.
> >
> > Here it might just be best to explicitly use (void *)(long)addr.  
> 
> That didn't work - tried, and warnings still there (GCC seems to see
> through it).

The only difference is the extra local - unless the '+ 0' matters.

OPTIMIZE_HIDE_VAR() should work, but is annoying to use in a function call.
You sort of need:
#define OPTIMIZER_HIDE_VAL(x) {(	\
	auto _x = x;			\
	asm ("", "+r" (_x));		\
	_x;				\
)}

(also useful for 'lying' to snprintf())

	David

> 
> So that leaves:
> - absolute_pointer()
> - __diag_ignore_all wrapper (mentioned elsewhere in thread)
> 
> Preferences?
> 
> Thanks,
> -- Marco