[PATCH] tests/functional/test_aarch64_rme_virt: fix sporadic failure

Pierrick Bouvier posted 1 patch 3 days, 13 hours ago
tests/functional/test_aarch64_rme_virt.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[PATCH] tests/functional/test_aarch64_rme_virt: fix sporadic failure
Posted by Pierrick Bouvier 3 days, 13 hours ago
This test was randomly failing on our CI, and on dev machines,
especially with QEMU debug builds.

From the information collected, it's related to an implementation choice
in edk2 QEMU virt support. The workaround is to disable KASLR, to avoid
accessing protected memory.
Note: this is *not* needed for the similar test_aarch64_rme_sbsaref.

More information is available on the associated GitLab issue.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2823
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 tests/functional/test_aarch64_rme_virt.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/functional/test_aarch64_rme_virt.py b/tests/functional/test_aarch64_rme_virt.py
index f4ad4d33d58..a1abf584f0e 100755
--- a/tests/functional/test_aarch64_rme_virt.py
+++ b/tests/functional/test_aarch64_rme_virt.py
@@ -87,7 +87,9 @@ def test_aarch64_rme_virt(self):
         self.vm.add_args('-fsdev', f'local,security_model=none,path={rme_stack},id=shr0')
         self.vm.add_args('-device', 'virtio-net-pci,netdev=net0')
         self.vm.add_args('-netdev', 'user,id=net0')
-        self.vm.add_args('-append', 'root=/dev/vda')
+        # We need to add nokaslr to avoid triggering this sporadic bug:
+        # https://gitlab.com/qemu-project/qemu/-/issues/2823
+        self.vm.add_args('-append', 'root=/dev/vda nokaslr')
 
         self.vm.launch()
         # Wait for host VM boot to complete.
-- 
2.39.5
Re: [PATCH] tests/functional/test_aarch64_rme_virt: fix sporadic failure
Posted by Alex Bennée 3 days, 12 hours ago
Pierrick Bouvier <pierrick.bouvier@linaro.org> writes:

> This test was randomly failing on our CI, and on dev machines,
> especially with QEMU debug builds.
>
> From the information collected, it's related to an implementation choice
> in edk2 QEMU virt support. The workaround is to disable KASLR, to avoid
> accessing protected memory.
> Note: this is *not* needed for the similar test_aarch64_rme_sbsaref.
>
> More information is available on the associated GitLab issue.
>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2823
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  tests/functional/test_aarch64_rme_virt.py | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tests/functional/test_aarch64_rme_virt.py b/tests/functional/test_aarch64_rme_virt.py
> index f4ad4d33d58..a1abf584f0e 100755
> --- a/tests/functional/test_aarch64_rme_virt.py
> +++ b/tests/functional/test_aarch64_rme_virt.py
> @@ -87,7 +87,9 @@ def test_aarch64_rme_virt(self):
>          self.vm.add_args('-fsdev', f'local,security_model=none,path={rme_stack},id=shr0')
>          self.vm.add_args('-device', 'virtio-net-pci,netdev=net0')
>          self.vm.add_args('-netdev', 'user,id=net0')
> -        self.vm.add_args('-append', 'root=/dev/vda')
> +        # We need to add nokaslr to avoid triggering this sporadic bug:
> +        # https://gitlab.com/qemu-project/qemu/-/issues/2823
> +        self.vm.add_args('-append', 'root=/dev/vda nokaslr')
>  
>          self.vm.launch()
>          # Wait for host VM boot to complete.
-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
Re: [PATCH] tests/functional/test_aarch64_rme_virt: fix sporadic failure
Posted by Richard Henderson 3 days, 13 hours ago
On 3/28/25 13:38, Pierrick Bouvier wrote:
> This test was randomly failing on our CI, and on dev machines,
> especially with QEMU debug builds.
> 
>  From the information collected, it's related to an implementation choice
> in edk2 QEMU virt support. The workaround is to disable KASLR, to avoid
> accessing protected memory.
> Note: this is *not* needed for the similar test_aarch64_rme_sbsaref.
> 
> More information is available on the associated GitLab issue.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2823
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   tests/functional/test_aarch64_rme_virt.py | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/functional/test_aarch64_rme_virt.py b/tests/functional/test_aarch64_rme_virt.py
> index f4ad4d33d58..a1abf584f0e 100755
> --- a/tests/functional/test_aarch64_rme_virt.py
> +++ b/tests/functional/test_aarch64_rme_virt.py
> @@ -87,7 +87,9 @@ def test_aarch64_rme_virt(self):
>           self.vm.add_args('-fsdev', f'local,security_model=none,path={rme_stack},id=shr0')
>           self.vm.add_args('-device', 'virtio-net-pci,netdev=net0')
>           self.vm.add_args('-netdev', 'user,id=net0')
> -        self.vm.add_args('-append', 'root=/dev/vda')
> +        # We need to add nokaslr to avoid triggering this sporadic bug:
> +        # https://gitlab.com/qemu-project/qemu/-/issues/2823
> +        self.vm.add_args('-append', 'root=/dev/vda nokaslr')
>   
>           self.vm.launch()
>           # Wait for host VM boot to complete.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~