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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 29 May 2024 18:42:03 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Miguel Ojeda <ojeda@...nel.org>
Cc: Thomas Weißschuh <linux@...ssschuh.net>, 
	linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org, 
	patches@...ts.linux.dev
Subject: Re: [PATCH] kheaders: use `command -v` to test for existence of `cpio`

On Wed, May 29, 2024 at 1:32 AM Miguel Ojeda <ojeda@...nel.org> wrote:
>
> Commit 13e1df09284d ("kheaders: explicitly validate existence of cpio
> command") added an explicit check for `cpio` using `type`.
>
> However, `type` in `dash` (which is used in some popular distributions
> and base images as the shell script runner) prints the missing message
> to standard output, and thus no error is printed:
>
>     $ bash -c 'type missing >/dev/null'
>     bash: line 1: type: missing: not found
>     $ dash -c 'type missing >/dev/null'
>     $
>
> For instance, this issue may be seen by loongarch builders, given its
> defconfig enables CONFIG_IKHEADERS since commit 9cc1df421f00 ("LoongArch:
> Update Loongson-3 default config file").
>
> Therefore, use `command -v` instead to have consistent behavior, and
> take the chance to provide a more explicit error.
>
> Signed-off-by: Miguel Ojeda <ojeda@...nel.org>
> ---
>  kernel/gen_kheaders.sh | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh
> index 6d443ea22bb7..4ba5fd3d73ae 100755
> --- a/kernel/gen_kheaders.sh
> +++ b/kernel/gen_kheaders.sh
> @@ -14,7 +14,12 @@ include/
>  arch/$SRCARCH/include/
>  "
>
> -type cpio > /dev/null
> +if ! command -v cpio >/dev/null; then
> +       echo >&2 "***"
> +       echo >&2 "*** 'cpio' could not be found."
> +       echo >&2 "***"
> +       exit 1
> +fi
>
>  # Support incremental builds by skipping archive generation
>  # if timestamps of files being archived are not changed.
>
> base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
> --
> 2.45.1
>

Ah, right.
'command -v' is more portable.

Applied to linux-kbuild.
Thanks!




-- 
Best Regards
Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ