On 07/29, Luc Van Oostenryck wrote: > > The dissect client uses struct symbol's fields 'examined' & 'evaluated' > to avoid reprocessing the same symbols. But these fields are used > internally by sparse for type examination & evaluation and despite > dissect not doing these operations explicitly, they can be done > implicitly Yes. For example, test_dissect.c calls show_typename() and this can lead to examine/evaluate. I didn't bother to fix this because test_dissect.c is the very basic debugging tool. > So, add a new field to struct symbol: 'inspected' and use it, as > well as the existing 'visited', instead of 'evaluated' & 'examined'. Thanks! Looks good to me. > Note: when used on the kernel, this patch avoids a lot of warnings: > "warning: r_member bad sym type=7 kind=0" > "warning: r_member bad mem->kind = 0" > and creates substantially more normal output. So this is test-dissect, sindex should be fine even without this patch. Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>