diff options
Diffstat (limited to 'net/sunrpc/cache.c')
| -rw-r--r-- | net/sunrpc/cache.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index f1889be8091..80fe5c86efd 100644 --- a/net/sunrpc/cache.c +++ b/net/sunrpc/cache.c @@ -986,8 +986,10 @@ static int cache_open(struct inode *inode, struct file *filp,  	nonseekable_open(inode, filp);  	if (filp->f_mode & FMODE_READ) {  		rp = kmalloc(sizeof(*rp), GFP_KERNEL); -		if (!rp) +		if (!rp) { +			module_put(cd->owner);  			return -ENOMEM; +		}  		rp->offset = 0;  		rp->q.reader = 1;  		atomic_inc(&cd->readers);  |