From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sanidhya Kashyap Subject: [PATCH] afs: kstrdup() memory handling Date: Sat, 21 Mar 2015 12:50:09 -0400 Message-ID: <1426956609-27273-1-git-send-email-sanidhya.gatech@gmail.com> Cc: taesoo@gatech.edu, changwoo@gatech.edu, sanidhya@gatech.edu, blee@gatech.edu, Sanidhya Kashyap To: dhowells@redhat.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Handling kstrdup() failure in case of memory pressure even for new_opts. Signed-off-by: Sanidhya Kashyap --- fs/afs/super.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fs/afs/super.c b/fs/afs/super.c index c486155..477f38e 100644 --- a/fs/afs/super.c +++ b/fs/afs/super.c @@ -360,10 +360,13 @@ static struct dentry *afs_mount(struct file_system_type *fs_type, struct key *key; char *new_opts = kstrdup(options, GFP_KERNEL); struct afs_super_info *as; - int ret; + int ret = -ENOMEM; _enter(",,%s,%p", dev_name, options); + if (new_opts) + goto error_out; + memset(¶ms, 0, sizeof(params)); ret = -EINVAL; @@ -441,6 +444,7 @@ error: afs_put_cell(params.cell); key_put(params.key); kfree(new_opts); +error_out: _leave(" = %d", ret); return ERR_PTR(ret); } -- 2.1.0