public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/23] reboot-fixes
@ 2005-07-26 17:19 Eric W. Biederman
  2005-07-26 17:21 ` [PATCH 1/23] Add missing device_suspsend(PMSG_FREEZE) calls Eric W. Biederman
                   ` (2 more replies)
  0 siblings, 3 replies; 65+ messages in thread
From: Eric W. Biederman @ 2005-07-26 17:19 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linus Torvalds, linux-kernel


The reboot code paths seems to be suffering from 15 years of people
only looking at the code when it breaks.  The result is there
are several code paths in which different callers expect different
semantics from the same functions, and a fair amount of imperfect
inline replication of code.

For a year or more every time I fix one bug in the bug fix reveals yet
another bug.  In an attempt to end the cycle of bug fixes revealing
yet more bugs I have generated a series of patches to clean up
the semantics along the reboot path.

With the callers all agreeing on what to expect from the functions
they call it should at least be possible to kill bugs without
more showing up because of the bug fix.

My primary approach is to factor sys_reboot into several smaller
functions and provide those functions for the general kernel
consumers instead of the architecture dependent restart and
halt hooks.

I don't expect this to noticeably fix any bugs along the
main code paths but magic sysrq and several of the more obscure
code paths should work much more reliably.

Eric

^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2005-08-10 13:08 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-26 17:19 [PATCH 0/23] reboot-fixes Eric W. Biederman
2005-07-26 17:21 ` [PATCH 1/23] Add missing device_suspsend(PMSG_FREEZE) calls Eric W. Biederman
2005-07-26 17:24   ` [PATCH 2/23] Refactor sys_reboot into reusable parts Eric W. Biederman
2005-07-26 17:27     ` [PATCH 3/23] Make ctrl_alt_del call kernel_restart to get a proper reboot Eric W. Biederman
2005-07-26 17:29       ` [PATCH 4/23] Add emergency_restart() Eric W. Biederman
2005-07-26 17:32         ` [PATCH 5/23] Fix the arguments to machine_restart on cris Eric W. Biederman
2005-07-26 17:36           ` [PATCH 6/23] Don't export machine_restart, machine_halt, or machine_power_off Eric W. Biederman
2005-07-26 17:41             ` [PATCH 7/23] i386: Implement machine_emergency_reboot Eric W. Biederman
2005-07-26 17:44               ` [PATCH 8/23] x86_64: Fix reboot_force Eric W. Biederman
2005-07-26 17:45                 ` [PATCH 9/23] x86_64: Implemenent machine_emergency_restart Eric W. Biederman
2005-07-26 17:47                   ` [PATCH 10/23] Use kernel_power_off in sysrq-o Eric W. Biederman
2005-07-26 17:49                     ` [PATCH 11/23] Call emergency_reboot from panic Eric W. Biederman
2005-07-26 17:51                       ` [PATCH 12/23] Update sysrq-B to use emergency_restart() Eric W. Biederman
2005-07-26 17:53                         ` [PATCH 13/23] Fix watchdog drivers to call emergency_reboot() Eric W. Biederman
2005-07-26 17:55                           ` [PATCH 14/23] In hangcheck-timer.c call emergency_restart() Eric W. Biederman
2005-07-26 17:59                             ` [PATCH 15/23] 68328serial: sysrq should use emergency_reboot Eric W. Biederman
2005-07-26 18:01                               ` [PATCH 16/23] swpsuspend: Have suspend to disk use factors of sys_reboot Eric W. Biederman
2005-07-26 18:03                                 ` [PATCH 17/23] pcwd.c: Call kernel_power_off not machine_power_off Eric W. Biederman
2005-07-26 18:07                                   ` [PATCH 18/23] machine_shutdown: Typo fix to actually allow specifying which cpu to reboot on Eric W. Biederman
2005-07-26 18:08                                     ` [PATCH 19/23] i386 machine_power_off cleanup Eric W. Biederman
2005-07-26 18:10                                       ` [PATCH 20/23] APM: Remove redundant call to set_cpus_allowed Eric W. Biederman
2005-07-26 18:14                                         ` [PATCH 21/23] x86_64 sync machine_power_off with i386 Eric W. Biederman
2005-07-26 18:16                                           ` [PATCH 22/23] acpi_power_off: Don't switch to the boot cpu Eric W. Biederman
2005-07-26 18:17                                             ` [PATCH 23/23] acpi: Don't call acpi_sleep_prepare from acpi_power_off Eric W. Biederman
2005-07-26 20:57                                 ` [PATCH 16/23] swpsuspend: Have suspend to disk use factors of sys_reboot Andrew Morton
2005-07-26 21:02                                   ` Pavel Machek
2005-07-26 23:55             ` [PATCH 6/23] Don't export machine_restart, machine_halt, or machine_power_off Marc Ballarin
2005-07-27  0:20               ` Eric W. Biederman
2005-07-27  0:26                 ` Andrew Morton
2005-07-27  0:31                 ` Linus Torvalds
2005-07-26 17:54   ` [PATCH 1/23] Add missing device_suspsend(PMSG_FREEZE) calls Nigel Cunningham
2005-07-28  1:12     ` Eric W. Biederman
2005-07-28  2:21       ` [linux-pm] " david-b
2005-07-28  2:44       ` Shaohua Li
2005-07-26 20:08 ` [PATCH 0/23] reboot-fixes Pavel Machek
2005-07-27  9:59 ` Andrew Morton
2005-07-27 15:32   ` Eric W. Biederman
2005-07-27 15:56     ` Eric W. Biederman
2005-07-27 17:41     ` Andrew Morton
2005-07-27 18:15       ` Eric W. Biederman
2005-07-27 18:17         ` Eric W. Biederman
2005-07-27 18:29         ` Andrew Morton
2005-07-27 18:43           ` Eric W. Biederman
2005-07-27 22:47         ` Pavel Machek
2005-07-27 22:51           ` Andrew Morton
2005-07-27 22:54             ` Pavel Machek
2005-08-04  3:24               ` Nigel Cunningham
2005-08-04 21:45                 ` Pavel Machek
     [not found]                   ` <m1ackah4r3.fsf@ebiederm.dsl.xmission.com>
     [not found]                     ` <20050725161548.274d3d67.akpm@osdl.org>
     [not found]                       ` <dnpst4v5px.fsf@magla.zg.iskon.hr>
     [not found]                         ` <m1oe8o9stl.fsf@ebiederm.dsl.xmission.com>
     [not found]                           ` <dny87s6oe9.fsf@magla.zg.iskon.hr>
     [not found]                             ` <m1r7dk82a4.fsf@ebiederm.dsl.xmission.com>
     [not found]                               ` <42E8439E.9030103@ribosome.natur.cuni.cz>
     [not found]                                 ` <20050727193911.2cb4df88.akpm@osdl.org>
     [not found]                                   ` <42F121CD.5070903@ribosome.natur.cuni.cz>
     [not found]                                     ` <20050803200514.3ddb8195.akpm@osdl.org>
     [not found]                                       ` <20050805140837.GA5556@localhost>
     [not found]                                         ` <42F52AC5.1060109@ribosome.natur.cuni.cz>
2005-08-04 22:16                   ` Nigel Cunningham
2005-08-07 12:48                     ` FYI: device_suspend(...) in kernel_power_off() Eric W. Biederman
2005-08-07 19:02                       ` Pavel Machek
2005-08-07 19:46                         ` Eric W. Biederman
2005-08-07 21:11                           ` Pavel Machek
2005-08-09 17:25                             ` Eric W. Biederman
2005-08-09 21:29                               ` Nigel Cunningham
2005-08-10 13:08                               ` Pavel Machek
2005-07-27 22:51           ` [PATCH 0/23] reboot-fixes Linus Torvalds
2005-07-27 22:53             ` Pavel Machek
2005-07-27 23:20               ` Eric W. Biederman
2005-07-28  7:43                 ` Pavel Machek
2005-07-28 14:54                   ` Eric W. Biederman
2005-07-29  3:11                   ` Eric W. Biederman
2005-07-27 23:07           ` Eric W. Biederman
2005-07-28  7:42             ` Pavel Machek
2005-07-29  3:12               ` Eric W. Biederman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox