Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Lustre 2.16.1
-
None
-
3
-
9223372036854775807
Description
Opening this after discussing with Andreas at the DDN Data Summit.
ldiskfs doesn't build against the latest EL9.4 kernel (5.14.0-427.42.1.el9_4.x86_64) due to some recent changes in ext4. I think it's due to the changes in ext4_xattr_inode_lookup_create() in particular.
From rpm -q --changelog kernel-5.14.0-427.42.1.el9_4:
* Fri Oct 11 2024 Scott Weaver <scweaver@redhat.com> [5.14.0-427.41.1.el9_4] <snip> - ext4: do not create EA inode under buffer lock (Carlos Maiolino) [RHEL-48285 RHEL-48282] {CVE-2024-40972} - ext4: fold quota accounting into ext4_xattr_inode_lookup_create() (Carlos Maiolino) [RHEL-48285 RHEL-48282] {CVE-2024-40972} - ext4: fix uninitialized ratelimit_state->lock access in __ext4_fill_super() (Carlos Maiolino) [RHEL-48519 RHEL-48517] {CVE-2024-40998} - ext4: turn quotas off if mount failed after enabling quotas (Carlos Maiolino) [RHEL-48519 RHEL-48517] {CVE-2024-40998}
The reject is:
$ cat ./ldiskfs/linux-stage/fs/ext4/xattr.c.rej --- fs/ext4/xattr.c +++ fs/ext4/xattr.c @@ -1639,6 +1669,7 @@ static int ext4_xattr_set_entry(struct ext4_xattr_info *i, int in_inode = i->in_inode; struct inode *old_ea_inode = NULL; struct inode *new_ea_inode = NULL; + struct delayed_iput_work *diwork = NULL; size_t old_size, new_size; int ret; @@ -1872,7 +1907,7 @@ update_hash: ret = 0; out: - iput(old_ea_inode); + delayed_iput(old_ea_inode, diwork); iput(new_ea_inode); return ret; }
Attaching logs of build failure with the latest tag 2.16.1.
Note: building against 5.14.0-427.31.1.el9 (the version tested by Whamcloud and listed in lustre/ChangeLog) works fine.
Attachments
Issue Links
- is related to
-
LU-18414 kernel update [RHEL 9.4 5.14.0-427.42.1.el9_4]
- Open