Unverified Commit 865d9554 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!12892 ext4: avoid use-after-free in ext4_ext_show_leaf()

parents 3aeeb15b 2d9ee808
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -3317,7 +3317,7 @@ static int ext4_split_extent_at(handle_t *handle,
}

/*
 * ext4_split_extents() splits an extent and mark extent which is covered
 * ext4_split_extent() splits an extent and mark extent which is covered
 * by @map as split_flags indicates
 *
 * It may result in splitting the extent into multiple extents (up to three)
@@ -3393,7 +3393,7 @@ static int ext4_split_extent(handle_t *handle,
			goto out;
	}

	ext4_ext_show_leaf(inode, path);
	ext4_ext_show_leaf(inode, *ppath);
out:
	return err ? err : allocated;
}
@@ -3864,14 +3864,13 @@ ext4_ext_handle_unwritten_extents(handle_t *handle, struct inode *inode,
			struct ext4_ext_path **ppath, int flags,
			unsigned int allocated, ext4_fsblk_t newblock)
{
	struct ext4_ext_path __maybe_unused *path = *ppath;
	int ret = 0;
	int err = 0;

	ext_debug(inode, "logical block %llu, max_blocks %u, flags 0x%x, allocated %u\n",
		  (unsigned long long)map->m_lblk, map->m_len, flags,
		  allocated);
	ext4_ext_show_leaf(inode, path);
	ext4_ext_show_leaf(inode, *ppath);

	/*
	 * When writing into unwritten space, we should not fail to
@@ -3968,7 +3967,7 @@ ext4_ext_handle_unwritten_extents(handle_t *handle, struct inode *inode,
	if (allocated > map->m_len)
		allocated = map->m_len;
	map->m_len = allocated;
	ext4_ext_show_leaf(inode, path);
	ext4_ext_show_leaf(inode, *ppath);
out2:
	return err ? err : allocated;
}