![]() | |||||||||||
Messages in this thread |
> Side note: it's entirely possible that the "unwinder" code shouldn't even How often do I need to repeat that it wasn't the dwarf2 unwinder that crashed here, but the fallback code that is essentially just the old unwinder? Somehow I don't seem to get through. > try to return the address outside the page, since the first/last frame on > a page is likely to be special (ie it's an exception/interrupt kind of > thing), and it's entirely possible that the "page-level" loop is better at > handling that part too. > > That way you wouldn't even need to make the exception frames haev the > dwarf info etc, because you could choose to just depend on knowing what > the format of such a page was. But that's obviously just an implementation > choice.. > > Doesn't that sound like it should be both fairly straightforward and > reasonable? Ok I guess it would be possible to add another level of stack validation to the unwinder if you insist of it. I don't think it would help all that much because the unwinder already does pretty good validation based on CFI and it wouldn't have avoided that particular problem anyways (which was already fixed in 2.6.18 BTW, Eric's bisect just managed to find a bad spot before 2.6.18) Also I still think the code will be fairly ugly to do this, but at least it's already written for the old unwinder. The x86-64 code needed at least one state variable, requiring more function arguments all over the unwinder, but it might be possible to do it without that. -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/ | ||||||||||
| Last update: 2006-10-01 11:31 [from the cache] ©2003-2008 | |||||||||||