From: Lennart Poettering Date: Wed, 29 May 2024 15:40:28 +0000 (+0200) Subject: shutdown: explicitly close watchdog with disarm=false before we destroy watchdog... X-Git-Tag: v256-rc4~88^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79645d7376a5173c1a09172aaf2fa30e6c0958dd;p=thirdparty%2Fsystemd.git shutdown: explicitly close watchdog with disarm=false before we destroy watchdog resources Otherwise we'll close the device disarming it as side-effect of watchdog_free_device(), which is not intended. Hence, let's close the fd first explicitly leaving it armed. Fixes: #33075 --- diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c index 67f44e16e9c..d998bc5473a 100644 --- a/src/shutdown/shutdown.c +++ b/src/shutdown/shutdown.c @@ -561,7 +561,10 @@ int main(int argc, char *argv[]) { } /* We're done with the watchdog. Note that the watchdog is explicitly not stopped here. It remains - * active to guard against any issues during the rest of the shutdown sequence. */ + * active to guard against any issues during the rest of the shutdown sequence. Note that we + * explicitly close the device with disarm=false here, before releasing the rest of the watchdog + * data. */ + watchdog_close(/* disarm= */ false); watchdog_free_device(); arguments[0] = NULL; /* Filled in by execute_directories(), when needed */