[LU-17486] race in ldiskfs_destroy_inode() Created: 30/Jan/24  Updated: 31/Jan/24

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Alex Zhuravlev Assignee: Alex Zhuravlev
Resolution: Unresolved Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   
static void ext4_destroy_inode(struct inode *inode)
{                           
        call_rcu(&inode->i_rcu, ext4_i_callback);

        if (EXT4_I(inode)->i_reserved_data_blocks)
                ext4_msg(inode->i_sb, KERN_ERR,
                         "Inode %lu (%p): i_reserved_data_blocks (%u) not cleared!",
                         inode->i_ino, EXT4_I(inode),
                         EXT4_I(inode)->i_reserved_data_blocks);
}       

on a preemption-enabled kernel ext4_i_callback() can race with the access to i_reserved_data_blocks a line below.



 Comments   
Comment by Gerrit Updater [ 31/Jan/24 ]

"Alex Zhuravlev <bzzz@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53868
Subject: LU-17486 ldiskfs: fix race in ext4_destroy_inode
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: ff818c46508af1722c67c2e19bba20bf0b4f971c

Generated at Sat Feb 10 03:35:50 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.