lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 14 Sep 2007 14:22:18 +0200 From: "Rafael J. Wysocki" <rjw@...k.pl> To: Andrew Morton <akpm@...ux-foundation.org> Cc: Nigel Cunningham <nigel@...el.suspend2.net>, Pavel Machek <pavel@....cz>, LKML <linux-kernel@...r.kernel.org> Subject: [PATCH] Fix failure to resume from initrds [Please consider as 2.6.23 material] --- From: Nigel Cunningham <nigel@...el.suspend2.net> Commit 831441862956fffa17b9801db37e6ea1650b0f69 (Freezer: make kernel threads nonfreezable by default) breaks freezing when attempting to resume from an initrd, because the init (which is freezeable) spins while waiting for another thread to run /linuxrc, but doesn't check whether it has been told to enter the refrigerator. The original patch replaced a call to try_to_freeze() with a call to yield(). I believe a simple reversion is wrong because if !CONFIG_PM_SLEEP, try_to_freeze() is a noop. It should still yield. Signed-off-by: Nigel Cunningham <nigel@...el.suspend2.net> Acked-by: Rafael J. Wysocki <rjw@...k.pl> --- init/do_mounts_initrd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: linux-2.6.23-rc6/init/do_mounts_initrd.c =================================================================== --- linux-2.6.23-rc6.orig/init/do_mounts_initrd.c +++ linux-2.6.23-rc6/init/do_mounts_initrd.c @@ -57,8 +57,10 @@ static void __init handle_initrd(void) pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD); if (pid > 0) - while (pid != sys_wait4(-1, NULL, 0, NULL)) + while (pid != sys_wait4(-1, NULL, 0, NULL)) { + try_to_freeze(); yield(); + } /* move initrd to rootfs' /old */ sys_fchdir(old_fd); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists