On Tue, Dec 8, 2015 at 6:38 PM, Brian Norris <computersforpeace@xxxxxxxxx> 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 <computersforpeace@xxxxxxxxx> Looks good! Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> -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-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html