mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-22 06:29:23 +01:00
test-runner: fix kernel panic on exit for UML
UML requires RB_POWER_OFF rather than RB_AUTOBOOT (Qemu) in order to avoid a kernel panic from killing init.
This commit is contained in:
parent
f59e69c6c4
commit
25db380833
@ -479,10 +479,8 @@ class QemuRunner(RunnerAbstract):
|
|||||||
def stop(self):
|
def stop(self):
|
||||||
RB_AUTOBOOT = 0x01234567
|
RB_AUTOBOOT = 0x01234567
|
||||||
#
|
#
|
||||||
# Calling 'reboot' or 'shutdown' from a shell (e.g. os.system('reboot'))
|
# Killing init() results in a kernel panic. For QEMU a graceful
|
||||||
# is not the same the POSIX reboot() and will cause a kernel panic since
|
# exit is achieved with RB_AUTOBOOT
|
||||||
# we are the init process. The libc.reboot() allows the VM to exit
|
|
||||||
# gracefully.
|
|
||||||
#
|
#
|
||||||
libc.reboot(RB_AUTOBOOT)
|
libc.reboot(RB_AUTOBOOT)
|
||||||
|
|
||||||
@ -511,3 +509,11 @@ class UmlRunner(RunnerAbstract):
|
|||||||
self._prepare_mounts()
|
self._prepare_mounts()
|
||||||
|
|
||||||
super().prepare_environment()
|
super().prepare_environment()
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
RB_POWER_OFF = 0x4321fedc
|
||||||
|
#
|
||||||
|
# Killing init() results in a kernel panic. For UML a graceful
|
||||||
|
# exit is achieved with RB_POWER_OFF
|
||||||
|
#
|
||||||
|
libc.reboot(RB_POWER_OFF)
|
||||||
|
Loading…
Reference in New Issue
Block a user