Browse Source

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>
Chris Mason 16 năm trước cách đây
mục cha
commit
0b4dcea579
1 tập tin đã thay đổi với 6 bổ sung1 xóa
  1. 6 1
      fs/btrfs/ioctl.c

+ 6 - 1
fs/btrfs/ioctl.c

@@ -112,7 +112,12 @@ void btrfs_update_iflags(struct inode *inode)
  */
 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;