Skip to content

Commit

Permalink
Blackfin: don't walk VMAs when oopsing
Browse files Browse the repository at this point in the history
If we're double faulting, then we have to assume the VMAs are not safe as
broken pointers here will prevent full trace output for the double fault.
Shouldn't be a big problem though as rarely is a double fault caused by
code in userspace.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
  • Loading branch information
Robin Getz authored and Mike Frysinger committed Dec 15, 2009
1 parent e92d32f commit dbc5e69
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions arch/blackfin/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,15 @@ static void decode_address(char *buf, unsigned long address)
return;
}

/*
* Don't walk any of the vmas if we are oopsing, it has been known
* to cause problems - corrupt vmas (kernel crashes) cause double faults
*/
if (oops_in_progress) {
strcat(buf, "/* kernel dynamic memory (maybe user-space) */");
return;
}

/* looks like we're off in user-land, so let's walk all the
* mappings of all our processes and see if we can't be a whee
* bit more specific
Expand Down

0 comments on commit dbc5e69

Please sign in to comment.