On Tue, 2005-04-05 at 16:47 -0700, Can Sar wrote:
Hi,
I've instrumented the mark_buffer_dirty routine of the kernel to print
the address that b_data points to for a simple block device driver I
got from http://lwn.net/Articles/58720/. I get perfectly valid
addresses most of the time, except that sometimes the pointer has the
value of 0x400. I have been looking at this for a very long time and I
have no idea what could be causing this?
Does anyone have any ideas?
if the page is in highmem b_data doesn't mean what you think it means.
In fact I would argue that anyone using b_data is buggy....