From: Keith Owens <kaos@sg...> - 2006-05-28 04:07:31
Tom Morano (on Thu, 25 May 2006 10:35:19 -0700) wrote:
>A change was made a while ago to test for a valid RA during ia64 stack
>unwind. The test compares the RA against KERN_START and KERN_END.
>Unfortunately, it's possible for text addresses to fall within VMALLOC
>space (they are from a kernel module). As things stand now, such an
>address causes a premature termination of the backtrace. The original
>test was added because an invalid non-NULL RA caused the unwind code to
>endlessly loop. In this patch, the test for a valid RA is expanded to
>test for a VMALLOC space address. If I don't get any negative feedback,
>I will go ahead and check this fix into the tree.
Worth doing, but also add a limit on the unwind depth to catch runaway
unwinds. KDB does this
int count = 0;
... kdb unwind code ...
} while (unw_unwind(&info) >= 0 && count++ < 200);
if (count >= 200)
kdb_printf("bt truncated, count limit reached\n");
Get latest updates about Open Source Projects, Conferences and News.