lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 24 Aug 2022 18:03:47 +0200 From: Lukas Czerner <lczerner@...hat.com> To: linux-ext4@...r.kernel.org Cc: tytso@....edu, jlayton@...nel.org, jack@...e.cz, linux-fsdevel@...r.kernel.org, ebiggers@...nel.org, david@...morbit.com, Christian Brauner <brauner@...nel.org> Subject: [PATCH v4 1/3] ext4: don't increase iversion counter for ea_inodes ea_inodes are using i_version for storing part of the reference count so we really need to leave it alone. The problem can be reproduced by xfstest ext4/026 when iversion is enabled. Fix it by not calling inode_inc_iversion() for EXT4_EA_INODE_FL inodes in ext4_mark_iloc_dirty(). Signed-off-by: Lukas Czerner <lczerner@...hat.com> Reviewed-by: Jan Kara <jack@...e.cz> Reviewed-by: Jeff Layton <jlayton@...nel.org> Reviewed-by: Christian Brauner (Microsoft) <brauner@...nel.org> --- v2, v3, v4: no change fs/ext4/inode.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 601214453c3a..2a220be34caa 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -5731,7 +5731,12 @@ int ext4_mark_iloc_dirty(handle_t *handle, } ext4_fc_track_inode(handle, inode); - if (IS_I_VERSION(inode)) + /* + * ea_inodes are using i_version for storing reference count, don't + * mess with it + */ + if (IS_I_VERSION(inode) && + !(EXT4_I(inode)->i_flags & EXT4_EA_INODE_FL)) inode_inc_iversion(inode); /* the do_update_inode consumes one bh->b_count */ -- 2.37.1
Powered by blists - more mailing lists