]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/xfs/xfs_vfsops.c
[XFS] Fix a potential NULL pointer deref in XFS on failed mount.
[net-next-2.6.git] / fs / xfs / xfs_vfsops.c
index 47c890778bb6d1ddb52e243068b7ff248b72390c..ba8f7a3e40281709690456c6a756b9ee2dc7c8db 100644 (file)
@@ -480,13 +480,19 @@ xfs_mount(
        }
        if (rtdev) {
                mp->m_rtdev_targp = xfs_alloc_buftarg(rtdev, 1);
-               if (!mp->m_rtdev_targp)
+               if (!mp->m_rtdev_targp) {
+                       xfs_blkdev_put(logdev);
+                       xfs_blkdev_put(rtdev);
                        goto error0;
+               }
        }
        mp->m_logdev_targp = (logdev && logdev != ddev) ?
                                xfs_alloc_buftarg(logdev, 1) : mp->m_ddev_targp;
-       if (!mp->m_logdev_targp)
+       if (!mp->m_logdev_targp) {
+               xfs_blkdev_put(logdev);
+               xfs_blkdev_put(rtdev);
                goto error0;
+       }
 
        /*
         * Setup flags based on mount(2) options and then the superblock