Messages in this thread |  | | | From | Andi Kleen <> | | Subject | Re: BUG-lockdep and freeze (was: Arrr! Linux 2.6.18) | | Date | Sat, 30 Sep 2006 23:57:06 +0200 |
| |
> > It could - and _should_ dammit! - do some basic sanity tests like "is the > thing even in the same stack page"? But nooo... It seems _designed_ to be > fragile and broken.
That wouldn't work with interrupt stacks.
The old unwinder code had a state machine to deal with them, but it was distingustingly complicated (there are nasty corner cases where you can be in multiple interrupt stacks nested). I'm not sure we would have really wanted to retain that.
What it does is to do __get_user for the stack values and it has the unwind tables in the executable as sanity check, so in some sense it is more reliable than the old code.
BTW again let me repeat this particular issue wasn't in the unwinder itself, but just in the fallback-to-old code which didn't do enough sanity checks. So you can say it's not the new unwinder that crashed, but the old one here. I'll add more.
-Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |