login
Header Space

 
 

Re: BUG: 2.6.26-rc1-git8: NULL reference in drop_buffers

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Randy Dunlap <randy.dunlap@...>
Cc: Andrew Morton <akpm@...>, lkml <linux-kernel@...>, viro <viro@...>, Jan Kara <jack@...>, <linux-mm@...>
Date: Monday, May 12, 2008 - 1:15 pm

On Monday 12 May 2008, Randy Dunlap wrote:
wrote:

If you stand on your head, and race really really hard, 
nfs_inode_remove_request() does this without locking the page:

       set_page_private(req->wb_page, 0);
       ClearPagePrivate(req->wb_page);

That code has been around for a long time though.

Probably not the droids we're looking for, but it was the only one that jumped 
out at me during a quick search of set_page_private(foo, 0) callers.  

It seems more likely that we got there by an invalidatepage call that left 
PagePrivate set but didn't allow the page to be freed.

The page would turn into the funky anonymous zombie thing meant for buffers 
that had to be written before the page could be freed (PagePrivate set but 
page->mapping == NULL), and eventually find its way to try_to_free_buffers().

The problem with that theory is that I would expect page->private to be 
non-null in such a case.  Randy, any chance this can be reproduced?

-chris
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
BUG: 2.6.26-rc1-git8: NULL reference in drop_buffers, Randy Dunlap, (Sun May 11, 1:54 pm)
Re: BUG: 2.6.26-rc1-git8: NULL reference in drop_buffers, Andrew Morton, (Mon May 12, 2:23 am)
Re: BUG: 2.6.26-rc1-git8: NULL reference in drop_buffers, Randy Dunlap, (Mon May 12, 11:04 am)
Re: BUG: 2.6.26-rc1-git8: NULL reference in drop_buffers, Chris Mason, (Mon May 12, 1:15 pm)
speck-geostationary