From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Romain Naour <romain.naour@gmail.com>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH] package/busybox: disable sha1/sha256 hwaccel with x86 musl toolchains
Date: Sun, 7 May 2023 15:03:47 +0200 [thread overview]
Message-ID: <20230507130347.GS252090@scaer> (raw)
In-Reply-To: <20230502220451.3087471-1-romain.naour@gmail.com>
Romain, All,
On 2023-05-03 00:04 +0200, Romain Naour spake thusly:
> Buxybox's init segfault when built with x86 musl toolchain due to
> recent changes about sha1 and sha156 hwaccel support in Busybox 1.36.0.
>
> From Alpinelinux [1]:
> "main/busybox: disable sha hwaccel
> the flag check for this seems incorrect- it triggers sha_ni use when
> the instructions aren't available, but avx512vl/bw is - Elly on irc
>
> causes failures in github actions, which have avx512 but no sha_no"
>
> The flag check should be fixed upstream by commit [2].
>
> But init still crash with the latest 1_36_stable (with backported patch)
> and master branch...
>
> Disable sha hwaccel with x86 musl toolchains until the issue is fixed.
But why is it special to musl, if the issue if about hardware
instructions not being available?
And indeed, the OE patch you referenced also states "we see same on
glibc systems too".
The referenced thread in the busybox ML seem to hint at a musl dynamic
linker issue, because ebx is clobbered. So there is no reason the issue
can't happen with the other C libraries...
Applied to master, thanks.
Regards,
Yann E. MORIN.
> Checked that qemu_x86_64_defconfig with musl for x86_64 for core2 boot
> as expected with sha hwaccel enabled.
>
> The same workaround has been applied to openembedded-core [3].
>
> [1] https://git.alpinelinux.org/aports/commit/main/busybox?id=ae2cfdf6f6da3dc46ee09d8ceafa26921f6e058e
> [2] https://git.busybox.net/busybox/commit/?id=bd76b75f72f717150b909e8c64edfda725cabe11
> [3] https://github.com/openembedded/openembedded-core/commit/22f639d61127f4b82a79008c5305e44e090a3680
>
> Fixes:
> https://gitlab.com/buildroot.org/toolchains-builder/-/jobs/4202276721
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ---
> package/busybox/busybox.mk | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
> index 1633ca525d..eb70f12f86 100644
> --- a/package/busybox/busybox.mk
> +++ b/package/busybox/busybox.mk
> @@ -276,6 +276,15 @@ define BUSYBOX_INSTALL_INDIVIDUAL_BINARIES
> endef
> endif
>
> +# Disable SHA1 and SHA256 HWACCEL with x86 musl toolchains
> +# to avoid segfault with init.
> +ifeq ($(BR2_TOOLCHAIN_USES_MUSL):$(BR2_i386),y:y)
> +define BUSYBOX_MUSL_DISABLE_SHA_HWACCEL
> + $(call KCONFIG_DISABLE_OPT,CONFIG_SHA1_HWACCEL)
> + $(call KCONFIG_DISABLE_OPT,CONFIG_SHA256_HWACCEL)
> +endef
> +endif
> +
> # Only install our logging scripts if no other package does it.
> ifeq ($(BR2_PACKAGE_SYSKLOGD)$(BR2_PACKAGE_RSYSLOG)$(BR2_PACKAGE_SYSLOG_NG),)
> define BUSYBOX_INSTALL_LOGGING_SCRIPT
> @@ -364,6 +373,7 @@ endef
> BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_INSTALL_ADD_TO_SHELLS
>
> define BUSYBOX_KCONFIG_FIXUP_CMDS
> + $(BUSYBOX_MUSL_DISABLE_SHA_HWACCEL)
> $(BUSYBOX_SET_MMU)
> $(BUSYBOX_PREFER_STATIC)
> $(BUSYBOX_SET_MDEV)
> --
> 2.34.3
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2023-05-07 13:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-02 22:04 [Buildroot] [PATCH] package/busybox: disable sha1/sha256 hwaccel with x86 musl toolchains Romain Naour
2023-05-07 13:03 ` Yann E. MORIN [this message]
2023-05-10 9:04 ` Romain Naour
2023-06-05 20:10 ` Peter Korsgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230507130347.GS252090@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=romain.naour@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox