From: Greg Kroah-Hartman Date: Fri, 10 Nov 2017 14:14:12 +0000 (+0100) Subject: 4.9-stable patches X-Git-Tag: v3.18.81~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b625e933ace9909a8939cd994fd5a2a9ce6bac0e;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: selftests-firmware-send-expected-errors-to-dev-null.patch tools-firmware-check-for-distro-fallback-udev-cancel-rule.patch --- diff --git a/queue-4.9/selftests-firmware-send-expected-errors-to-dev-null.patch b/queue-4.9/selftests-firmware-send-expected-errors-to-dev-null.patch new file mode 100644 index 00000000000..4aa90a5d204 --- /dev/null +++ b/queue-4.9/selftests-firmware-send-expected-errors-to-dev-null.patch @@ -0,0 +1,56 @@ +From 880444e214cfd293a2e8cc4bd3505f7ffa6ce33a Mon Sep 17 00:00:00 2001 +From: "Luis R. Rodriguez" +Date: Fri, 16 Dec 2016 03:10:35 -0800 +Subject: selftests: firmware: send expected errors to /dev/null + +From: Luis R. Rodriguez + +commit 880444e214cfd293a2e8cc4bd3505f7ffa6ce33a upstream. + +Error that we expect should not be spilled to stdout. + +Without this we get: + +./fw_filesystem.sh: line 58: printf: write error: Invalid argument +./fw_filesystem.sh: line 63: printf: write error: No such device +./fw_filesystem.sh: line 69: echo: write error: No such file or directory +./fw_filesystem.sh: filesystem loading works +./fw_filesystem.sh: async filesystem loading works + +With it: + +./fw_filesystem.sh: filesystem loading works +./fw_filesystem.sh: async filesystem loading works + +Signed-off-by: Luis R. Rodriguez +Signed-off-by: Amit Pundir +Signed-off-by: Greg Kroah-Hartman + +--- + tools/testing/selftests/firmware/fw_filesystem.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/tools/testing/selftests/firmware/fw_filesystem.sh ++++ b/tools/testing/selftests/firmware/fw_filesystem.sh +@@ -48,18 +48,18 @@ echo "ABCD0123" >"$FW" + + NAME=$(basename "$FW") + +-if printf '\000' >"$DIR"/trigger_request; then ++if printf '\000' >"$DIR"/trigger_request 2> /dev/null; then + echo "$0: empty filename should not succeed" >&2 + exit 1 + fi + +-if printf '\000' >"$DIR"/trigger_async_request; then ++if printf '\000' >"$DIR"/trigger_async_request 2> /dev/null; then + echo "$0: empty filename should not succeed (async)" >&2 + exit 1 + fi + + # Request a firmware that doesn't exist, it should fail. +-if echo -n "nope-$NAME" >"$DIR"/trigger_request; then ++if echo -n "nope-$NAME" >"$DIR"/trigger_request 2> /dev/null; then + echo "$0: firmware shouldn't have loaded" >&2 + exit 1 + fi diff --git a/queue-4.9/series b/queue-4.9/series index 71f5615da45..a399fcf7812 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -68,3 +68,5 @@ mips-fix-cm-region-target-definitions.patch mips-smp-use-a-completion-event-to-signal-cpu-up.patch mips-fix-race-on-setting-and-getting-cpu_online_mask.patch mips-smp-fix-deadlock-online-race.patch +selftests-firmware-send-expected-errors-to-dev-null.patch +tools-firmware-check-for-distro-fallback-udev-cancel-rule.patch diff --git a/queue-4.9/tools-firmware-check-for-distro-fallback-udev-cancel-rule.patch b/queue-4.9/tools-firmware-check-for-distro-fallback-udev-cancel-rule.patch new file mode 100644 index 00000000000..eacd3140fba --- /dev/null +++ b/queue-4.9/tools-firmware-check-for-distro-fallback-udev-cancel-rule.patch @@ -0,0 +1,60 @@ +From afb999cdef69148f366839e74470d8f5375ba5f1 Mon Sep 17 00:00:00 2001 +From: "Luis R. Rodriguez" +Date: Mon, 23 Jan 2017 08:11:07 -0800 +Subject: tools: firmware: check for distro fallback udev cancel rule + +From: Luis R. Rodriguez + +commit afb999cdef69148f366839e74470d8f5375ba5f1 upstream. + +Some distributions (Debian, OpenSUSE) have a udev rule in place to cancel +all fallback mechanism uevents immediately. This would obviously +make it hard to test against the fallback mechanism test interface, +so we need to check for this. + +Signed-off-by: Luis R. Rodriguez +Signed-off-by: Amit Pundir +Signed-off-by: Greg Kroah-Hartman + +--- + tools/testing/selftests/firmware/fw_userhelper.sh | 28 ++++++++++++++++++++-- + 1 file changed, 26 insertions(+), 2 deletions(-) + +--- a/tools/testing/selftests/firmware/fw_userhelper.sh ++++ b/tools/testing/selftests/firmware/fw_userhelper.sh +@@ -64,9 +64,33 @@ trap "test_finish" EXIT + echo "ABCD0123" >"$FW" + NAME=$(basename "$FW") + ++DEVPATH="$DIR"/"nope-$NAME"/loading ++ + # Test failure when doing nothing (timeout works). +-echo 1 >/sys/class/firmware/timeout +-echo -n "$NAME" >"$DIR"/trigger_request ++echo -n 2 >/sys/class/firmware/timeout ++echo -n "nope-$NAME" >"$DIR"/trigger_request 2>/dev/null & ++ ++# Give the kernel some time to load the loading file, must be less ++# than the timeout above. ++sleep 1 ++if [ ! -f $DEVPATH ]; then ++ echo "$0: fallback mechanism immediately cancelled" ++ echo "" ++ echo "The file never appeared: $DEVPATH" ++ echo "" ++ echo "This might be a distribution udev rule setup by your distribution" ++ echo "to immediately cancel all fallback requests, this must be" ++ echo "removed before running these tests. To confirm look for" ++ echo "a firmware rule like /lib/udev/rules.d/50-firmware.rules" ++ echo "and see if you have something like this:" ++ echo "" ++ echo "SUBSYSTEM==\"firmware\", ACTION==\"add\", ATTR{loading}=\"-1\"" ++ echo "" ++ echo "If you do remove this file or comment out this line before" ++ echo "proceeding with these tests." ++ exit 1 ++fi ++ + if diff -q "$FW" /dev/test_firmware >/dev/null ; then + echo "$0: firmware was not expected to match" >&2 + exit 1