[PATCH] afs: kstrdup() memory handling
From: Sanidhya Kashyap
Date: Sat Mar 21 2015 - 13:14:34 EST
Handling kstrdup() failure in case of memory pressure even
for new_opts.
Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
---
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/