staging: exfat: Ensure we unlock upon error in ffsReadFile
authorDavidlohr Bueso <dave@stgolabs.net>
Sun, 3 Nov 2019 18:09:21 +0000 (10:09 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 3 Nov 2019 18:40:09 +0000 (19:40 +0100)
The call was not releasing the mutex upon error.

Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>
Acked-By: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Link: https://lore.kernel.org/r/20191103180921.2844-1-dave@stgolabs.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/exfat/exfat_super.c

index 5f97258..1ae5a77 100644 (file)
@@ -743,8 +743,10 @@ static int ffsReadFile(struct inode *inode, struct file_id_t *fid, void *buffer,
 
                        while (clu_offset > 0) {
                                /* clu = FAT_read(sb, clu); */
-                               if (FAT_read(sb, clu, &clu) == -1)
-                                       return FFS_MEDIAERR;
+                               if (FAT_read(sb, clu, &clu) == -1) {
+                                       ret = FFS_MEDIAERR;
+                                       goto out;
+                               }
 
                                clu_offset--;
                        }