Re: [PATCH V3] kmsg_dump: Don't run on non-error paths by default

From: Andrew Morton
Date: Tue Feb 14 2012 - 16:05:21 EST


On Fri, 10 Feb 2012 10:45:15 -0500
Matthew Garrett <mjg@xxxxxxxxxx> wrote:

> Since 04c6862c055fb687c90d9652f32c11a063df15cf kmsg_dump() gets run on
> normal paths including poweroff and reboot. This is less than ideal given
> pstore implementations that can only represent single backtraces, since a
> reboot may overwrite a stored oops before it's been picked up by userspace.
> In addition, some pstore backends may have low performance and provide a
> significant delay in reboot as a result.
>
> This patch adds a printk.always_kmsg_dump kernel parameter (which can also
> be changed from userspace). Without it, the code will only be run on
> failure paths rather than on normal paths. The option can be enabled in
> environments where there's a desire to attempt to audit whether or not
> a reboot was cleanly requested or not.

So if I'm understanding it correctly, this patch reverts the kernel
behaviour to what it was before 04c6862c055fb687c9 ("kmsg_dump: add
kmsg_dump() calls to the reboot, halt, poweroff and emergency_restart
paths"). The user must now set printk.always_kmsg_dump to get the
04c6862c055fb687c9 behaviour.

Correct? If so, we should get this into 3.3 so we don't have a oddball
behaviour in one particular kernel release.

--
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/