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 |
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 > >
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 --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) {
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(-)