diff mbox series

[v2] ext4: fix macro definition error of EXT4_DIRENT_HASH and EXT4_DIRENT_MINOR_HASH

Message ID 1717652596-58760-1-git-send-email-carrionbent@linux.alibaba.com
State Awaiting Upstream
Headers show
Series [v2] ext4: fix macro definition error of EXT4_DIRENT_HASH and EXT4_DIRENT_MINOR_HASH | expand

Commit Message

carrion bent June 6, 2024, 5:43 a.m. UTC
the macro parameter 'entry' of EXT4_DIRENT_HASH and
    EXT4_DIRENT_MINOR_HASH was not used, but rather the
    variable 'de' was directly used, which may be a local
    variable inside a function that calls the macros.
    Fortunately, all callers have passed in 'de' so far,
    so this bug didn't have an effect.

Signed-off-by: carrion bent <carrionbent@linux.alibaba.com>
---
 fs/ext4/ext4.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jan Kara July 19, 2024, 12:21 p.m. UTC | #1
On Thu 06-06-24 13:43:16, carrion bent wrote:
>     the macro parameter 'entry' of EXT4_DIRENT_HASH and
>     EXT4_DIRENT_MINOR_HASH was not used, but rather the
>     variable 'de' was directly used, which may be a local
>     variable inside a function that calls the macros.
>     Fortunately, all callers have passed in 'de' so far,
>     so this bug didn't have an effect.
> 
> Signed-off-by: carrion bent <carrionbent@linux.alibaba.com>

Ted, this seems to have fallen through the cracks. The bug in the macro is
really nasty trap...

								Honza

> ---
>  fs/ext4/ext4.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index 983dad8..04bdd27 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -2338,9 +2338,9 @@ struct ext4_dir_entry_2 {
>  	((struct ext4_dir_entry_hash *) \
>  		(((void *)(entry)) + \
>  		((8 + (entry)->name_len + EXT4_DIR_ROUND) & ~EXT4_DIR_ROUND)))
> -#define EXT4_DIRENT_HASH(entry) le32_to_cpu(EXT4_DIRENT_HASHES(de)->hash)
> +#define EXT4_DIRENT_HASH(entry) le32_to_cpu(EXT4_DIRENT_HASHES(entry)->hash)
>  #define EXT4_DIRENT_MINOR_HASH(entry) \
> -		le32_to_cpu(EXT4_DIRENT_HASHES(de)->minor_hash)
> +		le32_to_cpu(EXT4_DIRENT_HASHES(entry)->minor_hash)
>  
>  static inline bool ext4_hash_in_dirent(const struct inode *inode)
>  {
> -- 
> 2.7.4
> 
>
Theodore Ts'o Aug. 22, 2024, 3 p.m. UTC | #2
On Thu, 06 Jun 2024 13:43:16 +0800, carrion bent wrote:
>     the macro parameter 'entry' of EXT4_DIRENT_HASH and
>     EXT4_DIRENT_MINOR_HASH was not used, but rather the
>     variable 'de' was directly used, which may be a local
>     variable inside a function that calls the macros.
>     Fortunately, all callers have passed in 'de' so far,
>     so this bug didn't have an effect.
> 
> [...]

Applied, thanks!

[1/1] ext4: fix macro definition error of EXT4_DIRENT_HASH and EXT4_DIRENT_MINOR_HASH
      commit: f67fbacd923f280c55b9e26e49650331446ef335

Best regards,
diff mbox series

Patch

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 983dad8..04bdd27 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -2338,9 +2338,9 @@  struct ext4_dir_entry_2 {
 	((struct ext4_dir_entry_hash *) \
 		(((void *)(entry)) + \
 		((8 + (entry)->name_len + EXT4_DIR_ROUND) & ~EXT4_DIR_ROUND)))
-#define EXT4_DIRENT_HASH(entry) le32_to_cpu(EXT4_DIRENT_HASHES(de)->hash)
+#define EXT4_DIRENT_HASH(entry) le32_to_cpu(EXT4_DIRENT_HASHES(entry)->hash)
 #define EXT4_DIRENT_MINOR_HASH(entry) \
-		le32_to_cpu(EXT4_DIRENT_HASHES(de)->minor_hash)
+		le32_to_cpu(EXT4_DIRENT_HASHES(entry)->minor_hash)
 
 static inline bool ext4_hash_in_dirent(const struct inode *inode)
 {