From 248ef0ffa3bd7a2a34cc7472841caf8841fef4a7 Mon Sep 17 00:00:00 2001 From: Chandra Seetharaman Date: Tue, 10 Oct 2006 15:15:55 -0700 Subject: [PATCH] --- yaml --- r: 40096 b: refs/heads/master c: 559c9ac391c046710bdeee5581dc5d9dda794881 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/configfs/file.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 384dd524bf9e..f857610d40da 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e2057c5a63821e17c8a54dab6db680c77ce7ee6c +refs/heads/master: 559c9ac391c046710bdeee5581dc5d9dda794881 diff --git a/trunk/fs/configfs/file.c b/trunk/fs/configfs/file.c index e6d5754a715e..cf33fac68c84 100644 --- a/trunk/fs/configfs/file.c +++ b/trunk/fs/configfs/file.c @@ -275,13 +275,14 @@ static int check_perm(struct inode * inode, struct file * file) * it in file->private_data for easy access. */ buffer = kzalloc(sizeof(struct configfs_buffer),GFP_KERNEL); - if (buffer) { - init_MUTEX(&buffer->sem); - buffer->needs_read_fill = 1; - buffer->ops = ops; - file->private_data = buffer; - } else + if (!buffer) { error = -ENOMEM; + goto Enomem; + } + init_MUTEX(&buffer->sem); + buffer->needs_read_fill = 1; + buffer->ops = ops; + file->private_data = buffer; goto Done; Einval: @@ -289,6 +290,7 @@ static int check_perm(struct inode * inode, struct file * file) goto Done; Eaccess: error = -EACCES; + Enomem: module_put(attr->ca_owner); Done: if (error && item)