]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
hpfs: kstrdup() out of memory handling
authorSanidhya Kashyap <sanidhya.gatech@gmail.com>
Sat, 21 Mar 2015 16:57:50 +0000 (12:57 -0400)
committerZefan Li <lizefan@huawei.com>
Mon, 21 Mar 2016 01:17:40 +0000 (09:17 +0800)
commit ce657611baf902f14ae559ce4e0787ead6712067 upstream.

There is a possibility of nothing being allocated to the new_opts in
case of memory pressure, therefore return ENOMEM for such case.

Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
fs/hpfs/super.c

index 0bf578dbfce7fb74bf48499ca5c6c8d801f931ed..0b990b288aff935ba6a8056634d023507ca67fb8 100644 (file)
@@ -385,9 +385,13 @@ static int hpfs_remount_fs(struct super_block *s, int *flags, char *data)
        int o;
        struct hpfs_sb_info *sbi = hpfs_sb(s);
        char *new_opts = kstrdup(data, GFP_KERNEL);
-       
+
+
+       if (!new_opts)
+               return -ENOMEM;
+
        *flags |= MS_NOATIME;
-       
+
        hpfs_lock(s);
        lock_super(s);
        uid = sbi->sb_uid; gid = sbi->sb_gid;