Tracing memory address access in kernel

Pritam Bankar pritambankar1988 at gmail.com
Tue Dec 4 05:24:09 EST 2018


Hello,

I am facing issue of memory corruption where only one field of
allocated structure is getting corrupted. I have bio structure and one
of the page in bio vector is getting set to NULL.

crash> struct bio_vec 0xffff88009dc5eb00

struct bio_vec {
  bv_page = 0xffffea000a434b80,
  bv_len = 4096,
  bv_offset = 0
}

crash> struct bio_vec 0xffff88009dc5eb10
struct bio_vec {
  bv_page = 0x0,
  bv_len = 4096,
  bv_offset = 0

}

crash> struct bio_vec 0xffff88009dc5eb20
struct bio_vec {
  bv_page = 0xffffea000a467500,
  bv_len = 4096,
  bv_offset = 0

}

I have allocated contagious memory for bio vectors. As you can see in
second bio vector bv_page is getting set to NULL. This address is
valid till the time I do some operations in my module. After some
operations bv_page is getting set to NULL. Other fields are having
valid data.

Is there any debugging technique / tool available which will track
access to specific memory access?  I would like to dump stack every
time bv_page is accessed or modified

Thanks and regards,
Pritam Bankar



More information about the Kernelnewbies mailing list