Re: [PATCH 6.6 00/49] 6.6.10-rc1 review

From: Johannes Berg
Date: Thu Jan 04 2024 - 03:22:30 EST


On Thu, 2024-01-04 at 08:58 +0100, Greg Kroah-Hartman wrote:
> > >
> > > We're seeing a build regression with x86/GCC-8 and allmodconfig:
> > >
> > > -----8<-----
> > >   In file included from /builds/linux/include/linux/string.h:294,
> > >                    from /builds/linux/include/linux/bitmap.h:11,
> > >                    from /builds/linux/include/linux/cpumask.h:12,
> > >                    from /builds/linux/arch/x86/include/asm/paravirt.h:17,
> > >                    from /builds/linux/arch/x86/include/asm/cpuid.h:62,
> > >                    from /builds/linux/arch/x86/include/asm/processor.h:19,
> > >                    from /builds/linux/arch/x86/include/asm/cpufeature.h:5,
> > >                    from /builds/linux/arch/x86/include/asm/thread_info.h:53,
> > >                    from /builds/linux/include/linux/thread_info.h:60,
> > >                    from /builds/linux/include/linux/uio.h:9,
> > >                    from /builds/linux/include/linux/socket.h:8,
> > >                    from /builds/linux/include/uapi/linux/if.h:25,
> > >                    from /builds/linux/net/wireless/nl80211.c:11:
> > >   In function 'nl80211_set_cqm_rssi.isra.44',
> > >       inlined from 'nl80211_set_cqm' at /builds/linux/net/wireless/nl80211.c:13000:10:
> > >   /builds/linux/include/linux/fortify-string.h:57:29: error: '__builtin_memcpy' pointer overflow between offset 36 and size [-1, 9223372036854775807] [-Werror=array-bounds]

This partially showed up upstream as well, but it was pretty hard to
see, so I think config and this very specific compiler version may be
affecting it as well.

> Very odd, 6.1 works fine with this same compiler? These changes were in
> the 6.1.70 release (and the 6.1.66 release) before.
>
> It was also in 6.6.5, before being reverted in 6.6.6, so why is this
> causing a problem now?

Yeah, it's all a bit weird.

Kees ended up fixing it upstream with commit 172db56d90d2 ("netlink:
Return unsigned value for nla_len()") (in net-next), but I cannot
actually say that I understand all what's going on here.

johannes