[PATCH] knfsd: Fix two problems that can cause rmmod nfsd to die
Both cause the 'entries' count in the export cache to be non-zero at module removal time, so unregistering that cache fails and results in an oops. 1/ exp_pseudoroot (used for NFSv4 only) leaks a reference to an export entry. 2/ sunrpc_cache_update doesn't increment the entries count when it adds an entry. Thanks to "david m. richter" <richterd@citi.umich.edu> for triggering the problem and finding one of the bugs. Cc: "david m. richter" <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
e46e490368
commit
f2d395865f
@ -159,6 +159,7 @@ struct cache_head *sunrpc_cache_update(struct cache_detail *detail,
|
||||
detail->update(tmp, new);
|
||||
tmp->next = *head;
|
||||
*head = tmp;
|
||||
detail->entries++;
|
||||
cache_get(tmp);
|
||||
is_new = cache_fresh_locked(tmp, new->expiry_time);
|
||||
cache_fresh_locked(old, 0);
|
||||
|
Reference in New Issue
Block a user