Re: print out hardware name & modules list when we encounter bad page tables.

From: Josh Boyer
Date: Tue Apr 16 2013 - 08:21:51 EST


On Thu, Apr 11, 2013 at 2:56 PM, Dave Jones <davej@xxxxxxxxxx> wrote:
> Given we have been seeing a lot of reports of page table corruption
> for a while now, perhaps if we print out the hardware name, and list
> of modules loaded, we might see some patterns emerging.
>
> Signed-off-by: Dave Jones <davej@xxxxxxxxxx>
>
> diff -durpN '--exclude-from=/home/davej/.exclude' /home/davej/src/kernel/git-trees/linux/include/asm-generic/bug.h linux-dj/include/asm-generic/bug.h
> --- linux/include/asm-generic/bug.h 2013-01-04 18:57:12.604282214 -0500
> +++ linux-dj/include/asm-generic/bug.h 2013-02-28 20:04:37.649304147 -0500
> @@ -55,6 +55,8 @@ struct bug_entry {
> #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)
> #endif
>
> +void print_hardware_dmi_name(void);
> +
> /*
> * WARN(), WARN_ON(), WARN_ON_ONCE, and so on can be used to report
> * significant issues that need prompt attention if they should ever
> diff -durpN '--exclude-from=/home/davej/.exclude' /home/davej/src/kernel/git-trees/linux/kernel/panic.c linux-dj/kernel/panic.c
> --- linux/kernel/panic.c 2013-02-26 14:41:18.544116674 -0500
> +++ linux-dj/kernel/panic.c 2013-02-28 20:04:37.666304115 -0500
> @@ -397,16 +397,22 @@ struct slowpath_args {
> va_list args;
> };
>
> -static void warn_slowpath_common(const char *file, int line, void *caller,
> - unsigned taint, struct slowpath_args *args)
> +void print_hardware_dmi_name(void)
> {

This fails to build on arches that define __WARN_TAINT. Just move the
new function definition above the WANT_WARN_ON_SLOWPATH define and it
should be fine.

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