Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bcb7e449 authored by Josef Bacik's avatar Josef Bacik
Browse files

Btrfs: just free dummy extent buffers



If we fail during our sanity tests we could get NULL deref's because we unload
the module before the dummy extent buffers are free'd via RCU.  So check for
this case and just free the things directly.  Thanks,

Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
parent ba117213
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -4968,6 +4968,12 @@ static int release_extent_buffer(struct extent_buffer *eb)

		/* Should be safe to release our pages at this point */
		btrfs_release_extent_buffer_page(eb);
#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
		if (unlikely(test_bit(EXTENT_BUFFER_DUMMY, &eb->bflags))) {
			__free_extent_buffer(eb);
			return 1;
		}
#endif
		call_rcu(&eb->rcu_head, btrfs_release_extent_buffer_rcu);
		return 1;
	}