On Tue, Mar 30, 2021 at 02:09:52PM -0500, madvenka@linux.microsoft.com wrote: > From: "Madhavan T. Venkataraman" > > Implement a check_reliability() function that will contain checks for the > presence of various features and conditions that can render the stack trace > unreliable. This looks good to me with one minor stylistic thing: > +/* > + * Special functions where the stack trace is unreliable. > + */ > +static struct function_range special_functions[] = { > + { 0, 0 } > +}; Might be good to put a comment here saying that this is terminating the list rather than detecting a NULL function pointer: { /* sentinel */ } is a common idiom for that. Given that it's a fixed array we could also... > + for (func = special_functions; func->start; func++) { > + if (pc >= func->start && pc < func->end) ...do these as for (i = 0; i < ARRAY_SIZE(special_functions); i++) so you don't need something like that, though that gets awkward when you have to write out special_functions[i].field a lot. So many different potential colours for the bikeshed!