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] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 22 May 2018 15:01:07 +0900
From:   Masahiro Yamada <yamada.masahiro@...ionext.com>
To:     Joey Pabalinas <joeypabalinas@...il.com>
Cc:     Andrew Morton <akpm@...ux-foundation.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Arend van Spriel <arend.vanspriel@...adcom.com>,
        Robert Jarzmik <robert.jarzmik@...e.fr>
Subject: Re: [PATCH v4] scripts/tags.sh: use `find` for $ALLSOURCE_ARCHS generation

Hi.


The commit log is wrong.


2018-05-18 20:56 GMT+09:00 Joey Pabalinas <joeypabalinas@...il.com>:
> Parsing `ls` is fragile at best and _will_ fail when $tree
> contains spaces.

This statement is wrong.

The cause of the problem is not using whatever command you use,
but missing quoting.
The following would work even  if $tree contains spaces:

    for arch in `ls "${tree}arch"`; do


BTW, what was your motivation of this patch?

Does ${tree} contain spaces?


If the file path contains spaces, the top Makefile terminates it earlier.

Makefile:128: *** main directory cannot contain spaces nor colons.  Stop.




> Replace this with a find-generated string
> and directly assign it to $ALLSOURCE_ARCHS; a subshell is
> implied by $(), so `cd` doesn't affect the current working
> directory.


This patch no longer uses `cd`



> Signed-off-by: Joey Pabalinas <joeypabalinas@...il.com>
>
>  1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/scripts/tags.sh b/scripts/tags.sh
> index 78e546ff689c2d5f40..c08347fdeef12a7621 100755
> --- a/scripts/tags.sh
> +++ b/scripts/tags.sh
> @@ -26,24 +26,15 @@ else
>  fi
>
>  # ignore userspace tools
>  ignore="$ignore ( -path ${tree}tools ) -prune -o"
>
> -# Find all available archs
> -find_all_archs()
> -{
> -       ALLSOURCE_ARCHS=""
> -       for arch in `ls ${tree}arch`; do
> -               ALLSOURCE_ARCHS="${ALLSOURCE_ARCHS} "${arch##\/}
> -       done
> -}
> -
>  # Detect if ALLSOURCE_ARCHS is set. If not, we assume SRCARCH
>  if [ "${ALLSOURCE_ARCHS}" = "" ]; then
>         ALLSOURCE_ARCHS=${SRCARCH}
>  elif [ "${ALLSOURCE_ARCHS}" = "all" ]; then
> -       find_all_archs
> +       ALLSOURCE_ARCHS="$(find "${tree}arch/" -mindepth 1 -maxdepth 1 -type d -printf ' %f')"
>  fi
>
>  # find sources in arch/$ARCH
>  find_arch_sources()
>  {
> --
> 2.17.0.rc1.35.g90bbd502d54fe92035.dirty
>



-- 
Best Regards
Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ