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: <20230815163436.652522-1-falcon@tinylab.org>
Date:   Wed, 16 Aug 2023 00:34:36 +0800
From:   Zhangjin Wu <falcon@...ylab.org>
To:     w@....eu
Cc:     arnd@...db.de, david.laight@...lab.com, falcon@...ylab.org,
        linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
        tanyuan@...ylab.org, thomas@...ch.de
Subject: Re: [PATCH v6 2/2] tools/nolibc: fix up size inflate regression

> On Sun, Aug 13, 2023 at 09:39:44PM +0800, Zhangjin Wu wrote:
> > > And we're done, you can then keep the simplified __sysret() macro for all
> > > other call places.
> > > 
> > 
> > Now, this issue is near to the end ;-)
> 
> I've now pushed the simplified fix (without changing the SET_ERRNO()
> macro, enough last minute breaking changes for now) in branch
> 20230815-for-6.6-2.
> 
> The tests pass and riscv/loongarch are even very slightly smaller than
> before (~8 bytes) but again that doesn't count as it depends on how the
> compiler decides to arrange if/else branches.
>

Tested 20230815-for-6.6-2 with latest Arnd's gcc 13.2.0 (left: old, right:
new), no warning, no failure:

    // run-user
    $ for arch in ${ARCHS[@]}; do printf "%9s: " $arch; make run-user XARCH=$arch | grep status | tr '\n' ' '; \
	size nolibc-test | tail -1 | tr '\t' ' ' | tr -s ' ' | cut -d ' ' -f2; done
         i386: 160 test(s): 158 passed,   2 skipped,   0 failed => status: warning 19654 > 19508
       x86_64: 160 test(s): 158 passed,   2 skipped,   0 failed => status: warning 22337 > 22011
        arm64: 160 test(s): 158 passed,   2 skipped,   0 failed => status: warning 26292 > 25868
          arm: 160 test(s): 158 passed,   2 skipped,   0 failed => status: warning 23140 > 23112
         mips: 160 test(s): 157 passed,   3 skipped,   0 failed => status: warning 23164 > 22924   // mips-linux- has smaller size, here uses mips64
          ppc: 160 test(s): 158 passed,   2 skipped,   0 failed => status: warning 26812 > 26628
        ppc64: 160 test(s): 158 passed,   2 skipped,   0 failed => status: warning 27380 > 27204
      ppc64le: 160 test(s): 158 passed,   2 skipped,   0 failed => status: warning 28004 > 27828
        riscv: 160 test(s): 158 passed,   2 skipped,   0 failed => status: warning 22062 > 21794
         s390: 160 test(s): 157 passed,   3 skipped,   0 failed => status: warning 22592 > 22192


    // kernel build + run
           arch/board | result
          ------------|------------
      arm/vexpress-a9 | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
             arm/virt | 160 test(s): 156 passed,   4 skipped,   0 failed => status: warning.
         aarch64/virt | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
          ppc/g3beige | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
          ppc/ppce500 | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
      ppc64le/pseries | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
      ppc64le/powernv | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
        ppc64/pseries | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
        ppc64/powernv | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
              i386/pc | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
            x86_64/pc | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
         mipsel/malta | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
     loongarch64/virt | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
         riscv64/virt | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.
s390x/s390-ccw-virtio | 160 test(s): 159 passed,   1 skipped,   0 failed => status: warning.

Thanks,
Zhangjin

> I'll let Shuah know about these late fixes.
> 
> Regards,
> Willy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ