hpfs: kstrdup() out of memory handling
authorSanidhya Kashyap <sanidhya.gatech@gmail.com>
Sat, 21 Mar 2015 16:57:50 +0000 (12:57 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 9 Jul 2015 20:35:31 +0000 (13:35 -0700)
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>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/hpfs/super.c

index 0642516d36c8807cdd5c7d27c2ca088a4a1d80e5..cde044d41f69aa8954559f65048222767bd81558 100644 (file)
@@ -451,11 +451,14 @@ 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;
+
        sync_filesystem(s);
 
        *flags |= MS_NOATIME;
-       
+
        hpfs_lock(s);
        uid = sbi->sb_uid; gid = sbi->sb_gid;
        umask = 0777 & ~sbi->sb_mode;