2024-04-15 14:44:14

by Brendan Jackman

[permalink] [raw]
Subject: [PATCH] KVM: selftests: Avoid assuming "sudo" exists

I ran into a failure running this test on a minimal rootfs.

Can be fixed by just skipping the "sudo" in case we are already root.

Signed-off-by: Brendan Jackman <[email protected]>
---
tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
index 7cbb409801eea..0e56822e8e0bf 100755
--- a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
+++ b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
@@ -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 maybe_sudo () {
+ "$@"
+ }
+else
+ function maybe_sudo () {
+ sudo "$@"
+ }
+fi
+
set +e

function sudo_echo () {
- echo "$1" | sudo tee -a "$2" > /dev/null
+ echo "$1" | maybe_sudo tee -a "$2" > /dev/null
}

NXECUTABLE="$(dirname $0)/nx_huge_pages_test"

---
base-commit: 2c71fdf02a95b3dd425b42f28fd47fb2b1d22702
change-id: 20240415-kvm-selftests-no-sudo-1a55f831f882

Best regards,
--
Brendan Jackman <[email protected]>



2024-04-15 18:46:16

by Muhammad Usama Anjum

[permalink] [raw]
Subject: Re: [PATCH] KVM: selftests: Avoid assuming "sudo" exists

On 4/15/24 7:43 PM, Brendan Jackman wrote:
> I ran into a failure running this test on a minimal rootfs.
I've ran into similar issue before for another test. Its clever solution.

>
> Can be fixed by just skipping the "sudo" in case we are already root.
>
> Signed-off-by: Brendan Jackman <[email protected]>
Reviewed-by: Muhammad Usama Anjum <[email protected]>

> ---
> tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
> index 7cbb409801eea..0e56822e8e0bf 100755
> --- a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
> +++ b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
> @@ -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 maybe_sudo () {
> + "$@"
> + }
> +else
> + function maybe_sudo () {
> + sudo "$@"
> + }
> +fi
> +
> set +e
>
> function sudo_echo () {
> - echo "$1" | sudo tee -a "$2" > /dev/null
> + echo "$1" | maybe_sudo tee -a "$2" > /dev/null
> }
>
> NXECUTABLE="$(dirname $0)/nx_huge_pages_test"
>
> ---
> base-commit: 2c71fdf02a95b3dd425b42f28fd47fb2b1d22702
> change-id: 20240415-kvm-selftests-no-sudo-1a55f831f882
>
> Best regards,

--
BR,
Muhammad Usama Anjum

2024-04-25 23:10:57

by Sean Christopherson

[permalink] [raw]
Subject: Re: [PATCH] KVM: selftests: Avoid assuming "sudo" exists

On Mon, Apr 15, 2024, Brendan Jackman wrote:
> I ran into a failure running this test on a minimal rootfs.
>
> Can be fixed by just skipping the "sudo" in case we are already root.
>
> Signed-off-by: Brendan Jackman <[email protected]>
> ---
> tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
> index 7cbb409801eea..0e56822e8e0bf 100755
> --- a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
> +++ b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
> @@ -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 maybe_sudo () {

Any objection to do_sudo instead of maybe_sudo? I can fixup when applying if
that works for you.

> + "$@"
> + }
> +else
> + function maybe_sudo () {
> + sudo "$@"
> + }
> +fi
> +
> set +e
>
> function sudo_echo () {
> - echo "$1" | sudo tee -a "$2" > /dev/null
> + echo "$1" | maybe_sudo tee -a "$2" > /dev/null
> }
>
> NXECUTABLE="$(dirname $0)/nx_huge_pages_test"
>
> ---
> base-commit: 2c71fdf02a95b3dd425b42f28fd47fb2b1d22702
> change-id: 20240415-kvm-selftests-no-sudo-1a55f831f882
>
> Best regards,
> --
> Brendan Jackman <[email protected]>
>

2024-04-26 10:14:09

by Brendan Jackman

[permalink] [raw]
Subject: Re: [PATCH] KVM: selftests: Avoid assuming "sudo" exists

On Fri, 26 Apr 2024 at 01:10, Sean Christopherson <[email protected]> wrote:
>
> On Mon, Apr 15, 2024, Brendan Jackman wrote:
[...]
> > + function maybe_sudo () {
>
> Any objection to do_sudo instead of maybe_sudo? I can fixup when applying if
> that works for you.

Sounds good to me :)

2024-04-29 20:53:03

by Sean Christopherson

[permalink] [raw]
Subject: Re: [PATCH] KVM: selftests: Avoid assuming "sudo" exists

On Mon, 15 Apr 2024 14:43:54 +0000, Brendan Jackman wrote:
> I ran into a failure running this test on a minimal rootfs.
>
> Can be fixed by just skipping the "sudo" in case we are already root.

Applied to kvm-x86 selftests, thanks!

[1/1] KVM: selftests: Avoid assuming "sudo" exists
https://github.com/kvm-x86/linux/commit/0540193614eb

--
https://github.com/kvm-x86/linux/tree/next