aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing
diff options
context:
space:
mode:
authorJoe Lawrence <joe.lawrence@redhat.com>2019-02-08 15:57:37 -0500
committerPetr Mladek <pmladek@suse.com>2019-02-12 10:58:47 +0100
commitfbb76d579dff4a2e332566dcd1d5979ac92bc34b (patch)
tree70a6a8efcec81458ff50b1774469805af3d8db54 /tools/testing
parentlivepatch: Module coming and going callbacks can proceed with all listed patches (diff)
downloadlinux-dev-fbb76d579dff4a2e332566dcd1d5979ac92bc34b.tar.xz
linux-dev-fbb76d579dff4a2e332566dcd1d5979ac92bc34b.zip
livepatch/selftests: use "$@" to preserve argument list
The livepatch selftest functions.sh library uses "$*" and an intermediate variable to extract and then pass arguments from function to function call. The effect of this combination is that the argument list is flattened into a single argument. Sometimes this is benign, but in cases like __load_mod(), the modprobe invocation will interpret all the module parameters as a single parameter. Drop the intermediate variable and use the "$@" special parameter as described in the bash manual. Link: https://www.gnu.org/software/bash/manual/bash.html#Special-Parameters Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> Reviewed-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com> Acked-by: Miroslav Benes <mbenes@suse.cz> Signed-off-by: Petr Mladek <pmladek@suse.com>
Diffstat (limited to 'tools/testing')
-rw-r--r--tools/testing/selftests/livepatch/functions.sh19
1 files changed, 7 insertions, 12 deletions
diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh
index c7b9fb45d7c9..30195449c63c 100644
--- a/tools/testing/selftests/livepatch/functions.sh
+++ b/tools/testing/selftests/livepatch/functions.sh
@@ -55,11 +55,10 @@ function is_livepatch_mod() {
function __load_mod() {
local mod="$1"; shift
- local args="$*"
- local msg="% modprobe $mod $args"
+ local msg="% modprobe $mod $*"
log "${msg%% }"
- ret=$(modprobe "$mod" "$args" 2>&1)
+ ret=$(modprobe "$mod" "$@" 2>&1)
if [[ "$ret" != "" ]]; then
die "$ret"
fi
@@ -75,12 +74,11 @@ function __load_mod() {
# params - module parameters to pass to modprobe
function load_mod() {
local mod="$1"; shift
- local args="$*"
is_livepatch_mod "$mod" &&
die "use load_lp() to load the livepatch module $mod"
- __load_mod "$mod" "$args"
+ __load_mod "$mod" "$@"
}
# load_lp_nowait(modname, params) - load a kernel module with a livepatch
@@ -89,12 +87,11 @@ function load_mod() {
# params - module parameters to pass to modprobe
function load_lp_nowait() {
local mod="$1"; shift
- local args="$*"
is_livepatch_mod "$mod" ||
die "module $mod is not a livepatch"
- __load_mod "$mod" "$args"
+ __load_mod "$mod" "$@"
# Wait for livepatch in sysfs ...
loop_until '[[ -e "/sys/kernel/livepatch/$mod" ]]' ||
@@ -106,9 +103,8 @@ function load_lp_nowait() {
# params - module parameters to pass to modprobe
function load_lp() {
local mod="$1"; shift
- local args="$*"
- load_lp_nowait "$mod" "$args"
+ load_lp_nowait "$mod" "$@"
# Wait until the transition finishes ...
loop_until 'grep -q '^0$' /sys/kernel/livepatch/$mod/transition' ||
@@ -120,11 +116,10 @@ function load_lp() {
# params - module parameters to pass to modprobe
function load_failing_mod() {
local mod="$1"; shift
- local args="$*"
- local msg="% modprobe $mod $args"
+ local msg="% modprobe $mod $*"
log "${msg%% }"
- ret=$(modprobe "$mod" "$args" 2>&1)
+ ret=$(modprobe "$mod" "$@" 2>&1)
if [[ "$ret" == "" ]]; then
die "$mod unexpectedly loaded"
fi