Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753359AbbLIVK1 (ORCPT ); Wed, 9 Dec 2015 16:10:27 -0500 Received: from mail-io0-f169.google.com ([209.85.223.169]:33901 "EHLO mail-io0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751979AbbLIVKZ (ORCPT ); Wed, 9 Dec 2015 16:10:25 -0500 MIME-Version: 1.0 In-Reply-To: <1449628714-66641-4-git-send-email-computersforpeace@gmail.com> References: <1449628714-66641-1-git-send-email-computersforpeace@gmail.com> <1449628714-66641-4-git-send-email-computersforpeace@gmail.com> Date: Wed, 9 Dec 2015 13:10:24 -0800 X-Google-Sender-Auth: PyjB4TNlsGcdgxbUn2wku51sD50 Message-ID: Subject: Re: [PATCH 4/4] selftests: firmware: add empty string and async tests From: Kees Cook To: Brian Norris Cc: Shuah Khan , Greg Kroah-Hartman , Ming Lei , LKML , Linux API , "Luis R. Rodriguez" 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: 2555 Lines: 82 On Tue, Dec 8, 2015 at 6:38 PM, Brian Norris wrote: > Now that we've added a 'trigger_async_request' knob to test the > request_firmware_nowait() API, let's use it. Also add tests for the > empty ("") string, since there have been a couple errors in that > handling already. > > Since we know have real wasy that the sysfs write might fail, let's add > the appropriate check on the 'echo' lines too. > > Signed-off-by: Brian Norris Looks good! Acked-by: Kees Cook -Kees > --- > tools/testing/selftests/firmware/fw_filesystem.sh | 29 ++++++++++++++++++++++- > 1 file changed, 28 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/firmware/fw_filesystem.sh b/tools/testing/selftests/firmware/fw_filesystem.sh > index c4366dc74e01..e12210e1317c 100755 > --- a/tools/testing/selftests/firmware/fw_filesystem.sh > +++ b/tools/testing/selftests/firmware/fw_filesystem.sh > @@ -48,8 +48,21 @@ echo "ABCD0123" >"$FW" > > NAME=$(basename "$FW") > > +if printf '\x00' >"$DIR"/trigger_request; then > + echo "$0: empty filename should not succeed" >&2 > + exit 1 > +fi > + > +if printf '\x00' >"$DIR"/trigger_async_request; then > + echo "$0: empty filename should not succeed (async)" >&2 > + exit 1 > +fi > + > # Request a firmware that doesn't exist, it should fail. > -echo -n "nope-$NAME" >"$DIR"/trigger_request > +if echo -n "nope-$NAME" >"$DIR"/trigger_request; then > + echo "$0: firmware shouldn't have loaded" >&2 > + exit 1 > +fi > if diff -q "$FW" /dev/test_firmware >/dev/null ; then > echo "$0: firmware was not expected to match" >&2 > exit 1 > @@ -74,4 +87,18 @@ else > echo "$0: filesystem loading works" > fi > > +# Try the asynchronous version too > +if ! echo -n "$NAME" >"$DIR"/trigger_async_request ; then > + echo "$0: could not trigger async request" >&2 > + exit 1 > +fi > + > +# Verify the contents are what we expect. > +if ! diff -q "$FW" /dev/test_firmware >/dev/null ; then > + echo "$0: firmware was not loaded (async)" >&2 > + exit 1 > +else > + echo "$0: async filesystem loading works" > +fi > + > exit 0 > -- > 2.6.0.rc2.230.g3dd15c0 > -- Kees Cook Chrome OS & Brillo Security -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/