From faf99a10ff35487a689ef7a183b1081da5369152 Mon Sep 17 00:00:00 2001 From: Sebastian Ene Date: Wed, 14 Jan 2026 13:56:59 +0200 Subject: vm/adb: don't check for ret code on adb shell reboot Prevent the fuzzer from entering in an infinte loop of device reboots when the adb shell reboot command returns with an error code. Fixes: #6598 Signed-off-by: Sebastian Ene --- vm/adb/adb.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vm/adb/adb.go b/vm/adb/adb.go index 79c4ebe12..d8d78e833 100644 --- a/vm/adb/adb.go +++ b/vm/adb/adb.go @@ -9,6 +9,7 @@ import ( "bytes" "context" "encoding/json" + "errors" "fmt" "io" "os" @@ -390,8 +391,16 @@ func (inst *instance) repair() error { // reliable solution can be sought out. if inst.cfg.TargetReboot { if _, err := inst.adb("shell", "reboot"); err != nil { - return err + var verboseErr *osutil.VerboseError + if !errors.As(err, &verboseErr) { + return err + } + + if verboseErr.ExitCode != 0 && verboseErr.ExitCode != 255 { + return err + } } + // Now give it another 5 minutes to boot. if !vmimpl.SleepInterruptible(10 * time.Second) { return fmt.Errorf("shutdown in progress") -- cgit mrf-deployment