Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir
This happens during subvol creation.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 926332a..eff18f5 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -112,7 +112,12 @@
*/
void btrfs_inherit_iflags(struct inode *inode, struct inode *dir)
{
- unsigned int flags = BTRFS_I(dir)->flags;
+ unsigned int flags;
+
+ if (!dir)
+ return;
+
+ flags = BTRFS_I(dir)->flags;
if (S_ISREG(inode->i_mode))
flags &= ~BTRFS_INODE_DIRSYNC;