From 1901aba90b6841ec1a99a25224a92d2519c603fd Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 21 Feb 2024 00:10:53 +0000 Subject: [PATCH] system: break infite loop resolving rootfs type When running procd outside of OpenWrt, e.g. for debugging or research situations inside a container environment, an inifite loop can occur when trying to determine the rootfs type. Make sure that doesn't happen. Signed-off-by: Daniel Golle --- system.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/system.c b/system.c index 1f2be33..8df606f 100644 --- a/system.c +++ b/system.c @@ -94,8 +94,12 @@ static const char *system_rootfs_type(void) { * lowerdir, as that can point to "/" being a previous * overlay mount (after firstboot or sysuprade config * restore). Hence just assume the lowerdir is "/rom" and - * restart searching for that instead. + * restart searching for that instead if that's not + * already the case. */ + if (!strcmp(mp, "/rom")) + break; + mp = "/rom"; fseek(mounts, 0, SEEK_SET); continue; -- 2.30.2