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: <20230130081034.GA6262@1wt.eu>
Date:   Mon, 30 Jan 2023 09:10:34 +0100
From:   Willy Tarreau <w@....eu>
To:     Hongyu Xie <xiehongyu1@...inos.cn>
Cc:     sfr@...b.auug.org.au, linux-kernel@...r.kernel.org,
        linux-next@...r.kernel.org
Subject: Re: Report a compile err

On Mon, Jan 30, 2023 at 03:30:12PM +0800, Hongyu Xie wrote:
> source code:
>   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> base:
>   ae0c77e1bc6963c67c6c09e8c72959fcb1ed8d5f
> config tested:
>   x86_64_defconfig
>   defconfig(arm64)
> toolchain:
>   gcc version 10.4.0 (Ubuntu 10.4.0-4ubuntu1~22.04)
> cross compile toolchain:
>   gcc version 10.4.0 (Ubuntu 10.4.0-4ubuntu1~22.04)
> 
> reproduce compile err:
>   CONFIG_WERROR=y && CONFIG_PRINTK=n && CONFIG_UBSAN_ALIGNMENT=y &&
>   CONFIG_UBSAN_SANITIZE_ALL=y
> 
> compile err log:
> kernel/printk/printk.c: In function 'console_flush_all':
> kernel/printk/printk.c:2845:17: error: array subscript 0 is outside array
> bounds of 'char[0]' [-Werror=array-bounds]
>  2845 |  char *outbuf = &pbufs.outbuf[0];
>       |                 ^~~~~~~~~~~~~~~~
> In file included from kernel/printk/printk.c:61:
> kernel/printk/internal.h:87:7: note: while referencing 'outbuf'
>    87 |  char outbuf[PRINTK_MESSAGE_MAX];
>       |       ^~~~~~
> kernel/printk/printk.c:2842:31: note: defined here 'pbufs'
>  2842 |  static struct printk_buffers pbufs;
>       |                               ^~~~~
>
> I applied the way 5a41237ad1d4 in mainline did for gcc 10, problem goes
> away. I'm guessing this is a gcc bug.

I think it's similar to this one I reported two years ago, that others
also faced, and was apparently only fixed in later versions:

    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98503

Most likely the workaround in 5a41237ad1d4 should be extended to gcc-10.

Willy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ