Re: kcsan -Wmaybe-uninitialized warning in ntfs3

David Laight
2026-04-23T13:06:16Z

On Thu, 23 Apr 2026 13:35:09 +0200
Marco Elver <elver@google.com> wrote:

> On Thu, 23 Apr 2026 at 10:12, David Laight <david.laight.linux@gmail.com> wrote:
> > On Wed, 22 Apr 2026 23:50:22 +0200
> > Marco Elver <elver@google.com> 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