]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: selftests: Avoid assuming "sudo" exists in NX hugepage test
authorBrendan Jackman <jackmanb@google.com>
Mon, 15 Apr 2024 14:43:54 +0000 (14:43 +0000)
committerSean Christopherson <seanjc@google.com>
Mon, 29 Apr 2024 19:22:08 +0000 (12:22 -0700)
Writing various root-only files, omit "sudo" when already running as root
to allow running the NX hugepage test on systems with a minimal rootfs,
i.e. without sudo.

Signed-off-by: Brendan Jackman <jackmanb@google.com>
Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Link: https://lore.kernel.org/r/20240415-kvm-selftests-no-sudo-v1-1-95153ad5f470@google.com
[sean: name the helper do_sudo() instead of maybe_sudo(), massage changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh

index 7cbb409801eea71452a87c08846437af2e02dd0d..caad084b8bfdb66ad11873fbfcdc9c9b3407ebee 100755 (executable)
@@ -13,10 +13,21 @@ NX_HUGE_PAGES_RECOVERY_RATIO=$(cat /sys/module/kvm/parameters/nx_huge_pages_reco
 NX_HUGE_PAGES_RECOVERY_PERIOD=$(cat /sys/module/kvm/parameters/nx_huge_pages_recovery_period_ms)
 HUGE_PAGES=$(cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages)
 
+# If we're already root, the host might not have sudo.
+if [ $(whoami) == "root" ]; then
+       function do_sudo () {
+               "$@"
+       }
+else
+       function do_sudo () {
+               sudo "$@"
+       }
+fi
+
 set +e
 
 function sudo_echo () {
-       echo "$1" | sudo tee -a "$2" > /dev/null
+       echo "$1" | do_sudo tee -a "$2" > /dev/null
 }
 
 NXECUTABLE="$(dirname $0)/nx_huge_pages_test"