affs: kstrdup() memory handling
There is a possibility of kstrdup() failure upon memory pressure. Therefore, returning ENOMEM even for new_opts. [akpm@linux-foundation.org: cleanup] Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@gmail.com> Cc: Taesoo kim <taesoo@gatech.edu> Cc: Fabian Frederick <fabf@skynet.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
79bda4d510
Коммит
c8f33d0bec
|
@ -521,10 +521,14 @@ affs_remount(struct super_block *sb, int *flags, char *data)
|
||||||
int root_block;
|
int root_block;
|
||||||
unsigned long mount_flags;
|
unsigned long mount_flags;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
char *new_opts = kstrdup(data, GFP_KERNEL);
|
char *new_opts;
|
||||||
char volume[32];
|
char volume[32];
|
||||||
char *prefix = NULL;
|
char *prefix = NULL;
|
||||||
|
|
||||||
|
new_opts = kstrdup(data, GFP_KERNEL);
|
||||||
|
if (!new_opts)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
pr_debug("%s(flags=0x%x,opts=\"%s\")\n", __func__, *flags, data);
|
pr_debug("%s(flags=0x%x,opts=\"%s\")\n", __func__, *flags, data);
|
||||||
|
|
||||||
sync_filesystem(sb);
|
sync_filesystem(sb);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче