Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752582AbdLESYM (ORCPT ); Tue, 5 Dec 2017 13:24:12 -0500 Received: from mail-ua0-f196.google.com ([209.85.217.196]:35333 "EHLO mail-ua0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751416AbdLESYL (ORCPT ); Tue, 5 Dec 2017 13:24:11 -0500 X-Google-Smtp-Source: AGs4zMbhiRJrgOGwY49uoEg7PTxw54g7ZFFyU1N1f55Rxriw0x9u8+T9/m1pvUw38Fm/W8Kq7SGra0IqDuaMf8VXJF0= MIME-Version: 1.0 In-Reply-To: <20171203191736.3399-8-fancer.lancer@gmail.com> References: <20171203191736.3399-1-fancer.lancer@gmail.com> <20171203191736.3399-8-fancer.lancer@gmail.com> From: Jon Mason Date: Tue, 5 Dec 2017 13:24:09 -0500 Message-ID: Subject: Re: [PATCH v2 07/15] NTB: ntb_test: Safely use paths with whitespace To: Serge Semin Cc: Dave Jiang , "Hubbe, Allen" , "S-k, Shyam-sundar" , "Yu, Xiangliang" , Gary R Hook , Sergey.Semin@t-platforms.ru, linux-ntb , linux-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5347 Lines: 148 On Sun, Dec 3, 2017 at 2:17 PM, Serge Semin wrote: > If some of the variables like LOC/REM or LOCAL_*/REMOTE_* got > whitespaces, the script may fail with syntax error. > > Signed-off-by: Serge Semin > Acked-by: Logan Gunthorpe > Fixes: a9c59ef77458 ("ntb_test: Add a selftest script for the NTB subsystem") Looks fine to me > --- > tools/testing/selftests/ntb/ntb_test.sh | 62 ++++++++++++++++----------------- > 1 file changed, 31 insertions(+), 31 deletions(-) > > diff --git a/tools/testing/selftests/ntb/ntb_test.sh b/tools/testing/selftests/ntb/ntb_test.sh > index 5fc7ad359e21..a8647ad891eb 100755 > --- a/tools/testing/selftests/ntb/ntb_test.sh > +++ b/tools/testing/selftests/ntb/ntb_test.sh > @@ -87,7 +87,7 @@ set -e > > function _modprobe() > { > - modprobe "$@" > + modprobe "$@" > > if [[ "$REMOTE_HOST" != "" ]]; then > ssh "$REMOTE_HOST" modprobe "$@" > @@ -274,13 +274,13 @@ function pingpong_test() > > echo "Running ping pong tests on: $(basename $LOC) / $(basename $REM)" > > - LOC_START=$(read_file $LOC/count) > - REM_START=$(read_file $REM/count) > + LOC_START=$(read_file "$LOC/count") > + REM_START=$(read_file "$REM/count") > > sleep 7 > > - LOC_END=$(read_file $LOC/count) > - REM_END=$(read_file $REM/count) > + LOC_END=$(read_file "$LOC/count") > + REM_END=$(read_file "$REM/count") > > if [[ $LOC_START == $LOC_END ]] || [[ $REM_START == $REM_END ]]; then > echo "Ping pong counter not incrementing!" >&2 > @@ -304,15 +304,15 @@ function perf_test() > max_mw_size=$MAX_MW_SIZE use_dma=$USE_DMA > > echo "Running local perf test $WITH DMA" > - write_file "" $LOCAL_PERF/run > + write_file "" "$LOCAL_PERF/run" > echo -n " " > - read_file $LOCAL_PERF/run > + read_file "$LOCAL_PERF/run" > echo " Passed" > > echo "Running remote perf test $WITH DMA" > - write_file "" $REMOTE_PERF/run > + write_file "" "$REMOTE_PERF/run" > echo -n " " > - read_file $REMOTE_PERF/run > + read_file "$REMOTE_PERF/run" > echo " Passed" > > _modprobe -r ntb_perf > @@ -320,39 +320,39 @@ function perf_test() > > function ntb_tool_tests() > { > - LOCAL_TOOL=$DEBUGFS/ntb_tool/$LOCAL_DEV > - REMOTE_TOOL=$REMOTE_HOST:$DEBUGFS/ntb_tool/$REMOTE_DEV > + LOCAL_TOOL="$DEBUGFS/ntb_tool/$LOCAL_DEV" > + REMOTE_TOOL="$REMOTE_HOST:$DEBUGFS/ntb_tool/$REMOTE_DEV" > > echo "Starting ntb_tool tests..." > > _modprobe ntb_tool > > - write_file Y $LOCAL_TOOL/link_event > - write_file Y $REMOTE_TOOL/link_event > + write_file "Y" "$LOCAL_TOOL/link_event" > + write_file "Y" "$REMOTE_TOOL/link_event" > > - link_test $LOCAL_TOOL $REMOTE_TOOL > - link_test $REMOTE_TOOL $LOCAL_TOOL > + link_test "$LOCAL_TOOL" "$REMOTE_TOOL" > + link_test "$REMOTE_TOOL" "$LOCAL_TOOL" > > #Ensure the link is up on both sides before continuing > - write_file Y $LOCAL_TOOL/link_event > - write_file Y $REMOTE_TOOL/link_event > + write_file "Y" "$LOCAL_TOOL/link_event" > + write_file "Y" "$REMOTE_TOOL/link_event" > > - for PEER_TRANS in $(ls $LOCAL_TOOL/peer_trans*); do > + for PEER_TRANS in $(ls "$LOCAL_TOOL"/peer_trans*); do > PT=$(basename $PEER_TRANS) > - write_file $MW_SIZE $LOCAL_TOOL/$PT > - write_file $MW_SIZE $REMOTE_TOOL/$PT > + write_file $MW_SIZE "$LOCAL_TOOL/$PT" > + write_file $MW_SIZE "$REMOTE_TOOL/$PT" > done > > - doorbell_test $LOCAL_TOOL $REMOTE_TOOL > - doorbell_test $REMOTE_TOOL $LOCAL_TOOL > - scratchpad_test $LOCAL_TOOL $REMOTE_TOOL > - scratchpad_test $REMOTE_TOOL $LOCAL_TOOL > + doorbell_test "$LOCAL_TOOL" "$REMOTE_TOOL" > + doorbell_test "$REMOTE_TOOL" "$LOCAL_TOOL" > + scratchpad_test "$LOCAL_TOOL" "$REMOTE_TOOL" > + scratchpad_test "$REMOTE_TOOL" "$LOCAL_TOOL" > > - for MW in $(ls $LOCAL_TOOL/mw*); do > + for MW in $(ls "$LOCAL_TOOL"/mw*); do > MW=$(basename $MW) > > - mw_test $MW $LOCAL_TOOL $REMOTE_TOOL > - mw_test $MW $REMOTE_TOOL $LOCAL_TOOL > + mw_test $MW "$LOCAL_TOOL" "$REMOTE_TOOL" > + mw_test $MW "$REMOTE_TOOL" "$LOCAL_TOOL" > done > > _modprobe -r ntb_tool > @@ -360,8 +360,8 @@ function ntb_tool_tests() > > function ntb_pingpong_tests() > { > - LOCAL_PP=$DEBUGFS/ntb_pingpong/$LOCAL_DEV > - REMOTE_PP=$REMOTE_HOST:$DEBUGFS/ntb_pingpong/$REMOTE_DEV > + LOCAL_PP="$DEBUGFS/ntb_pingpong/$LOCAL_DEV" > + REMOTE_PP="$REMOTE_HOST:$DEBUGFS/ntb_pingpong/$REMOTE_DEV" > > echo "Starting ntb_pingpong tests..." > > @@ -374,8 +374,8 @@ function ntb_pingpong_tests() > > function ntb_perf_tests() > { > - LOCAL_PERF=$DEBUGFS/ntb_perf/$LOCAL_DEV > - REMOTE_PERF=$REMOTE_HOST:$DEBUGFS/ntb_perf/$REMOTE_DEV > + LOCAL_PERF="$DEBUGFS/ntb_perf/$LOCAL_DEV" > + REMOTE_PERF="$REMOTE_HOST:$DEBUGFS/ntb_perf/$REMOTE_DEV" > > echo "Starting ntb_perf tests..." > > -- > 2.12.0 >