Re: kcsan -Wmaybe-uninitialized warning in ntfs3
From: David Laight
Date: Thu Apr 23 2026 - 09:12:53 EST
On Thu, 23 Apr 2026 13:35:09 +0200
Marco Elver <elver@xxxxxxxxxx> wrote:
> On Thu, 23 Apr 2026 at 10:12, David Laight <david.laight.linux@xxxxxxxxx> wrote:
> > On Wed, 22 Apr 2026 23:50:22 +0200
> > Marco Elver <elver@xxxxxxxxxx> 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