Message ID | 1426958039-20266-1-git-send-email-sanidhya.gatech@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, Mar 21, 2015 at 01:13:59PM -0400, Sanidhya Kashyap wrote: > Handling kstrdup() failure in case of memory pressure even > for new_opts. > > Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@gmail.com> Reviewed-by: Jeff Epler <jepler@unpythonic.net> > --- > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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); }
Handling kstrdup() failure in case of memory pressure even for new_opts. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@gmail.com> --- fs/afs/super.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)