How to find out which part of code is changing a particular data structure.

Frank Ch. Eigler fche at redhat.com
Fri Nov 8 16:03:09 EST 2013


Rajat Jain <rajatjain at juniper.net> writes:

> [...]  I have a memory location (One of the fields in a kernel data
> structure) and I want to track down the code that changes the value
> of that particular location. Some thing like a "watchpoint".

See the register_wide_hw_breakpoint API.  You could write a small
module that runs early, and gets callbacks when a given address is
modified.


> And this is early while I am still booting up. Can some one tell me
> if it is possible to do so?

(Were it not for the 'while still booting up' part, I'd suggest trying
systemtap's 

        probe kernel.data("SYMBOL").write { }
 or     probe kernel.data(0xDEADBEEF).write { }

probes, but we haven't worked through initramfs'ifying the widget.)


- FChE



More information about the Kernelnewbies mailing list