If find_pid_by_name() had an error, it was returning -1, but storing
that into a pid_t, which is unsigned on a number archs.  Furthermore,
find_pid_by_name() would _never_ return an error if the intended proces
was "init", but instead would return 1, meaning we would fail to work
on 2.4.x kernels running an initrd...
 -Erik
diff --git a/init/poweroff.c b/init/poweroff.c
index cec2d6d..d99b556 100644
--- a/init/poweroff.c
+++ b/init/poweroff.c
@@ -28,7 +28,7 @@
 {
 #ifdef CONFIG_FEATURE_INITRD
 	/* don't assume init's pid == 1 */
-	pid_t *pid = find_pid_by_name("init");
+	long *pid = find_pid_by_name("init");
 	if (!pid || *pid<=0) {
 		pid = find_pid_by_name("linuxrc");
 		if (!pid || *pid<=0)