On 01/23/2018 11:19 PM, Dave Anderson wrote: > > > ----- Original Message ----- >> Hi Dave, >> >> Recently I was trying crash tool with kdump dumpfile & structure >> layout randomized kernel[*](), and it fails without any surprise. After >> looking into the different errors crash reports, I can confirm it is a >> result from randomized structure layout. >> >> So my questions is, do you ever consider supporting this feature[*] in >> crash? >> If yes, do you have any plan & technique evaluation about it? >> If no, what's the reason? >> >> [*]https://lwn.net/Articles/722293/ >> -- >> Sincerely, >> Cao jin > > I was under the impression that the structure layout was done at > compile-time, and that the vmlinux file's debuginfo data would > represent the randomized layout. And that being the case, the > inconvenience would be that the crash session would show the > randomized layout, while the associated source code would show > the original layout. > BTW, I don't have any compiler knowledge before, just from these two days learning, I feel you are right at "vmlinux file's debuginfo data would represent the randomized layout". But when I debug, it seem not like what it should be. I have two file pairs, randomized and non-randomized one. I print some member offset of structure tagged with __randomize_layout after MEMBER_OFFSET_INIT, like this one: (gdb) p offset_table->task_struct_state $1 = 8 (gdb) p offset_table->task_struct_exit_state $2 = 2164 (gdb) p offset_table->task_struct_pid $3 = 2264 (gdb) p offset_table->task_struct_comm $4 = 2744 (gdb) p offset_table->task_struct_next_task $5 = -1 (gdb) p offset_table->task_struct_processor $6 = -1 (gdb) p offset_table->task_struct_p_pptr $7 = -1 (gdb) p offset_table->task_struct_parent $8 = 2288 Under both file pairs, these offset value are the same, so, I think that is why I have the impression that debuginfo has the original structure layout. I guess this is one kind of "MEMBER_OFFSET() no longer work"? -- Sincerely, Cao jin > You didn't give any examples of how/what fails. Is it a major problem > where fundamental facilities like MEMBER_OFFSET() no longer work? > Or are there places where assumptions are made w/regard to structure > layout without checking the debuginfo data? > > Anyway, the answer to your question is no, currently I have no plans. > > Dave > > > -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility