From 04f23aeaeacc01b5edb2615f27ad5af6c8897a12 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven Date: Thu, 20 Dec 2007 15:01:17 +0100 Subject: [PATCH] --- yaml --- r: 75109 b: refs/heads/master c: 2c3b20e91fe3a083c5d9bc79437c485866ea251c h: refs/heads/master i: 75107: fb9e48245b67473c9043fe38a5d59bd8302ce2e9 v: v3 --- [refs] | 2 +- trunk/kernel/panic.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 39cb0de1b666..b260b575e471 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 67e2be02328b9a61a9c799fbdd4ec94d7da0c323 +refs/heads/master: 2c3b20e91fe3a083c5d9bc79437c485866ea251c diff --git a/trunk/kernel/panic.c b/trunk/kernel/panic.c index 6f6e03e91595..da4d6bac270e 100644 --- a/trunk/kernel/panic.c +++ b/trunk/kernel/panic.c @@ -19,6 +19,7 @@ #include #include #include +#include int panic_on_oops; int tainted; @@ -265,6 +266,20 @@ void oops_enter(void) do_oops_enter_exit(); } +/* + * 64-bit random ID for oopses: + */ +static u64 oops_id; + +static int init_oops_id(void) +{ + if (!oops_id) + get_random_bytes(&oops_id, sizeof(oops_id)); + + return 0; +} +late_initcall(init_oops_id); + /* * Called when the architecture exits its oops handler, after printing * everything. @@ -272,6 +287,9 @@ void oops_enter(void) void oops_exit(void) { do_oops_enter_exit(); + init_oops_id(); + printk(KERN_WARNING "---[ end trace %016llx ]---\n", + (unsigned long long)oops_id); } #ifdef CONFIG_CC_STACKPROTECTOR