Messages in this thread | | | Subject | Re: 2.6.16-rc6-mm2 | From | Trond Myklebust <> | Date | Wed, 14 Jun 2006 17:56:25 -0400 |
| |
On Mon, 2006-06-12 at 17:24 -0700, Christoph Lameter wrote: > I guess this is correct. nfs_clear_page_writeback also ignores the page > if req->wb_page == NULL. Trond?
Sorry I'm late in responding. I'm currently on vacation in Iceland.
This is most probably an issue with nfs_cancel_requests(). We shouldn't be calling nfs_clear_page_writeback() without _first_ decrementing NR_UNSTABLE. I'll have a look, but I may be a bit unresponsive until I get to a new place with an internet connection.
Cheers, Trond
> On Mon, 12 Jun 2006, Christoph Lameter wrote: > > > On Mon, 12 Jun 2006, Cedric Le Goater wrote: > > > > > Unable to handle kernel NULL pointer dereference at 0000000000000007 RIP: > > > [<ffffffff8025b017>] dec_zone_page_state+0x1/0x5b > > > > Seems that req->wb_page may be NULL. > > > > This patch may fix it but we may miss an unstable page then. We may > > have to move the decrement of NR_UNSTABLE to a different location when > > wb_page is still valid. > > > > Index: linux-2.6.17-rc6-cl/fs/nfs/write.c > > =================================================================== > > --- linux-2.6.17-rc6-cl.orig/fs/nfs/write.c 2006-06-12 13:37:47.321243148 -0700 > > +++ linux-2.6.17-rc6-cl/fs/nfs/write.c 2006-06-12 15:13:48.020908204 -0700 > > @@ -1419,7 +1419,8 @@ static void nfs_commit_done(struct rpc_t > > nfs_mark_request_dirty(req); > > next: > > nfs_clear_page_writeback(req); > > - dec_zone_page_state(req->wb_page, NR_UNSTABLE); > > + if (req->wb_page) > > + dec_zone_page_state(req->wb_page, NR_UNSTABLE); > > } > > } > > > > > >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |