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] [day] [month] [year] [list]
Message-Id: <4afdfafc-ca43-4919-97e8-aefdb1feadcc@app.fastmail.com>
Date: Wed, 07 Aug 2024 16:56:56 +0200
From: "Arnd Bergmann" <arnd@...db.de>
To: "Peter Zijlstra" <peterz@...radead.org>
Cc: "Josh Poimboeuf" <jpoimboe@...nel.org>, linux-kernel@...r.kernel.org,
 x86@...nel.org
Subject: Re: new objtool warnings with gcc-14

On Wed, Aug 7, 2024, at 16:18, Peter Zijlstra wrote:
> On Wed, Aug 07, 2024 at 03:56:45PM +0200, Arnd Bergmann wrote:
>> I see some objtool warnings with gcc-14.2.0 that I don't show
>> up on gcc-14.1 or older:
>> 
>> vmlinux.o: warning: objtool: adis16260_write_raw() falls through to next function adxrs290_read_avail()
>> vmlinux.o: warning: objtool: adis16400_write_raw() falls through to next function adis16400_show_flash_count()
>> vmlinux.o: warning: objtool: x86_init_dev_msi_info+0x61: relocation to !ENDBR: irq_chip_retrigger_hierarchy+0x0
>> vmlinux.o: warning: objtool: rza1_irqc_probe+0x257: relocation to !ENDBR: irq_chip_retrigger_hierarchy+0x0
>> vmlinux.o: warning: objtool: .export_symbol+0x5908: data relocation to !ENDBR: irq_chip_retrigger_hierarchy+0x0
>> vmlinux.o: warning: objtool: .export_symbol+0x35b18: data relocation to !ENDBR: stpcpy+0x0
>
> https://gcc.gnu.org/PR116174
>
> As such, I've been blissfully ignoring all GCC-14 issues.

Ok. I can confirm that reverting b644126237a1 ("Align tight&hot
loop without considering max skipping bytes.") in gcc-14.2 avoids
the ENDBR issue.

The first two warnings in the list, about adis16260_write_raw()
and adis16400_write_raw() apparently already show up with older
compilers, so those are unrelated.

The problem here is the unreachable() in code like:

      adis_dev_auto_scoped_lock(adis) {
             if (t >= 0x0A)
                      adis->spi->max_speed_hz = ADIS16260_SPI_SLOW;
             else
                      adis->spi->max_speed_hz = ADIS16260_SPI_FAST;
             return __adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t);
      }
      unreachable();

     Arnd

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ