lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 9 Jan 2024 19:09:07 -0600
From: Lucas De Marchi <lucas.demarchi@...el.com>
To: Stephen Rothwell <sfr@...b.auug.org.au>
CC: "Paul E. McKenney" <paulmck@...nel.org>, <linux-kernel@...r.kernel.org>,
	<intel-xe@...ts.freedesktop.org>, Jani Nikula <jani.nikula@...el.com>, Nathan
 Chancellor <nathan@...nel.org>, Masahiro Yamada <masahiroy@...nel.org>
Subject: Re: [BUG] allmodconfig build error in next-20240108

On Wed, Jan 10, 2024 at 09:58:22AM +1100, Stephen Rothwell wrote:
>Hi all,
>
>On Tue, 9 Jan 2024 14:45:56 -0800 "Paul E. McKenney" <paulmck@...nel.org> wrote:
>>
>> On Wed, Jan 10, 2024 at 08:11:55AM +1100, Stephen Rothwell wrote:
>> >
>> > On Tue, 9 Jan 2024 10:58:40 -0600 Lucas De Marchi <lucas.demarchi@...el.com> wrote:
>> > >
>> > > On Mon, Jan 08, 2024 at 03:15:23PM -0800, Paul E. McKenney wrote:
>> > > I could reproduce it with allmodconfig and gcc 11.4.1 from rockylinux,
>> > > but not with gcc 9.3 or 12.3. Also it's not reproduced with gcc 11.4.1
>> > > when using defconfig + CONFIG_DRM_XE  (even if  -Wstringop-overflow is
>> > > still added).
>> > >
>> > > I don't see a bug in the code, even if it inverts the head/tail
>> > > convention.
>> > >
>> > > Searching around showed this which may be relevant: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101854
>> > > At least I can reproduce the same issue as in the snippet provided
>> > > (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101854#c7) with the buggy
>> > > compiler.
>> > >
>> > > So, maybe the best thing to do for now is to disable -Wstringop-overflow
>> > > for gcc < 12?
>> > >
>> > >
>> > > ------8<-----
>> > > diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
>> > > index 6952da8979ea..0433a3c6cbfd 100644
>> > > --- a/drivers/gpu/drm/xe/Makefile
>> > > +++ b/drivers/gpu/drm/xe/Makefile
>> > > @@ -17,7 +17,7 @@ subdir-ccflags-y += $(call cc-option, -Wunused-const-variable)
>> > >   subdir-ccflags-y += $(call cc-option, -Wpacked-not-aligned)
>> > >   subdir-ccflags-y += $(call cc-option, -Wformat-overflow)
>> > >   subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
>> > > -subdir-ccflags-y += $(call cc-option, -Wstringop-overflow)
>> > > +subdir-ccflags-$(call gcc-min-version, 120000) += $(call cc-option, -Wstringop-overflow)
>> > >   subdir-ccflags-y += $(call cc-option, -Wstringop-truncation)
>> > >   # The following turn off the warnings enabled by -Wextra
>> > >   ifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)
>> > > ------8<-----
>>
>> This I did, thank you!
>
>Maybe that line "subdir-ccflags-y += $(call cc-option, -Wstringop-overflow)"
>should just be removed as the setting of that option has been moved to the
>normal C flags in the top level Makefile (out of Makefile.extrawarn).

yeah, if it's part of the default build now and not only with W=1, then
we need to sync again.

Ideally opting in to extra warning flags should not be done via copy
paste, which would avoid this problem. However there were some
issues implementing that generically and some push back on making
W=1 options automatically propagate to default flags in
subsystems/drivers as per https://lore.kernel.org/all/20231006174550.GC3359308@dev-arch.thelio-3990X/
which also makes sense.

Cc'ing a few more people involved in that thread if they want to add
anything.

Lucas De Marchi

>
>-- 
>Cheers,
>Stephen Rothwell



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ