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: <20230110072828.GA3229@1wt.eu>
Date:   Tue, 10 Jan 2023 08:28:28 +0100
From:   Willy Tarreau <w@....eu>
To:     "Paul E. McKenney" <paulmck@...nel.org>
Cc:     linux-kernel@...r.kernel.org, Warner Losh <imp@...imp.com>,
        Sven Schnelle <svens@...ux.ibm.com>
Subject: Re: [PATCH 0/6] pending bug fixes for nolibc

Hello Paul,

On Mon, Jan 09, 2023 at 11:11:41AM -0800, Paul E. McKenney wrote:
> On Mon, Jan 09, 2023 at 08:54:36AM +0100, Willy Tarreau wrote:
> > Hello Paul,
> > 
> > please consider the current patch series for merging into your fixes queue.
> > The intent is to get them before 6.2, then backported where relevant.
> > 
> > It addresses the following bugs:
> >   - fd_set was incorrectly defined as arrays of u32 instead of long,
> >     which breaks BE64. Fix courtesy of Sven Schnelle.
> > 
> >   - S_ISxxx macros were incorrectly testing the bits after applying them
> >     instead of applying S_ISFMT to the value. Fix from Warner Losh.
> > 
> >   - the mips code was randomly broken due to an unprotected "noreorder"
> >     directive in the _start code that would prevent the assembler from
> >     filling delayed slots, and randomly leaving other instructions there
> > 
> >   - since the split of the single include file into multiple files, we're
> >     implicitly refraining from including some which are not explicitly
> >     added in the code. It causes build failures when such files contain
> >     definitions for functions that may be used e.g. by libgcc, such as
> >     raise() or memset(), which are often called only by a few archs at
> >     certain optimization levels only.
> > 
> >   - gcc 11.3 in ARM thumb2 mode at -O2 was able to recognize a memset()
> >     construction inside the memset() definition, and it replaced it with
> >     a call to... memset(). We cannot impose to userland to build with
> >     -ffreestanding so the introduction of an empty asm() statement in
> >     the loop was enough to stop this.
> > 
> >   - most of the O_* macros were wrong on RISCV because their octal value
> >     was used as a hexadecimal one when the platform was introduced. This
> >     was revealed by the selftest breaking in getdents64().
> > 
> > The series was tested on x86_64, i386, armv5, armv7, thumb1, thumb2,
> > mips and riscv, all at -O0, -Os and -O3. This is based on the "nolibc"
> > branch of your linux-rcu tree. Do not hesitate to let me know if you
> > prefer that I rebase it on a different one.
> 
> "81 test(s) passed", so queued at urgent-nolibc.2023.01.09a, thank you!
> 
> Also, thank you for the detailed cover letter, which I co-opted into the
> signed tag.

You're welcome!

> But please check to make sure that my wordsmithing didn't
> break anything.

It all looks perfect to me.

> If all goes well, I will send the pull request to Linus before the end
> of this week.

Great, thank you!
Willy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ