Re: [PATCH] Don't attempt to power off if power off is notimplemented.

From: Eric W. Biederman
Date: Wed Dec 14 2005 - 12:14:21 EST


Pavel Machek <pavel@xxxxxxx> writes:

> Hi!
>
>> diff --git a/kernel/sys.c b/kernel/sys.c
>> index bce933e..bf5842f 100644
>> --- a/kernel/sys.c
>> +++ b/kernel/sys.c
>> @@ -488,6 +488,12 @@ asmlinkage long sys_reboot(int magic1, i
>> magic2 != LINUX_REBOOT_MAGIC2C))
>> return -EINVAL;
>>
>> + /* Instead of trying to make the power_off code look like
>> + * halt when pm_power_off is not set do it the easy way.
>> + */
>> + if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off)
>> + cmd = LINUX_REBOOT_CMD_HALT;
>> +
>> lock_kernel();
>> switch (cmd) {
>> case LINUX_REBOOT_CMD_RESTART:
>
> Would not it be better to return -EPERM here or something like that?
> That way userspace can decide that it really wants reboot or something
> else.

Because that would change the current semantics of what
LINUX_REBOOT_CMD_POWER_OFF.

It is painful enough getting the infrastructure change through without
the having to worry about breaking userspace as well.

Despite what it may look like this is purely to fix bugs in the
implementation.

If I was going to hack user space the quick fix is to remove the -p
flag passed to /sbin/halt in the reboot scripts.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/