[PATCH] ext4: extents: Remove unnecessary ‘NULL’ values from path

Li zeming posted 1 patch 1 year, 10 months ago
fs/ext4/extents.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] ext4: extents: Remove unnecessary ‘NULL’ values from path
Posted by Li zeming 1 year, 10 months ago
path is assigned first, so it does not need to initialize the
assignment.

Signed-off-by: Li zeming <zeming@nfschina.com>
---
 fs/ext4/extents.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 7669d154c05e0..4ab96f01a6f31 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -600,7 +600,7 @@ __read_extent_tree_block(const char *function, unsigned int line,
 int ext4_ext_precache(struct inode *inode)
 {
 	struct ext4_inode_info *ei = EXT4_I(inode);
-	struct ext4_ext_path *path = NULL;
+	struct ext4_ext_path *path;
 	struct buffer_head *bh;
 	int i = 0, depth, ret = 0;
 
-- 
2.18.2
Re: [PATCH] ext4: extents: Remove unnecessary ‘NULL’ values from path
Posted by Theodore Ts'o 1 year, 10 months ago
On Tue, Apr 02, 2024 at 10:41:40AM +0800, Li zeming wrote:
> path is assigned first, so it does not need to initialize the
> assignment.

That's technically true, but the compiler is perfectly capable of
optimizing it out.  So it's harmless, and removing it does make the
code a bit more fragile, since it needs to be set so that the cleanup
code doesn't accidentally dereference an uninitialized pointer:

out:
	up_read(&ei->i_data_sem);
	ext4_free_ext_path(path);
	return ret;


So if later on, we add code which does a "goto out" on an error,
before path gets initialized, that would be bad.  So removing the
"unnecessary" set has no upside, and it has a potential disadvantage.


	      	      	 	     - Ted