2007-11-10 00:21:59

by J. Bruce Fields

[permalink] [raw]
Subject: OOPS in cache_clean

I just ran exportfs -ra on a test machine with 2.6.24-rc2 plus some patches
(current contents of my for-mm branch) recently and got a null dereference in
net/sunrpc/cache.c:cache_clean while it was flushing one of the server rpc
caches. I stupidly lost the oops message, but not till after I'd convinced
myself that it was in the loop that iterates over a cache bucket:

for (; ch; cp= & ch->next, ch= *cp) {
if (current_detail->nextcheck > ch->expiry_time)
current_detail->nextcheck = ch->expiry_time+1;
...
}

Specifically, it was an attempt to access ch->expiry_time when ch was 1. So
ch->next was 1 for some ch (or the head of a bucket was 1?)

I haven't been able to reproduce it, so I'm just posting here in case somebody
else has seen something similar or has an idea....

--b.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs