一线运维实战手记 · 云计算 · 数据库 · 故障排查
2026年9月4日

CVE-2026-74343 [HIGH] – In the Linux kernel, the following vulnerability has been resolved: kernfs: fix xattr rac

未分类
📑 文章目录

In the Linux kernel, the following vulnerability has been resolved:

kernfs: fix xattr race condition with multiple superblocks

Multiple superblocks with different namespaces can share the same
kernfs_node when kernfs_test_super() finds a matching root but
different namespace. This means multiple inodes from different
superblocks can reference the same kernfs_node->iattr->xattrs
structure.

The VFS layer only holds per-inode locks during xattr operations,
which is insufficient to serialize concurrent xattr modifications on
the shared kernfs_node. This can lead to race conditions in
simple_xattr_set() where the lookup->replace/remove sequence is not
atomic with respect to operations from other superblocks.

Fix this by protecting xattr operations with the existing hashed
kernfs_locks->open_file_mutex[] array, which is already used to
protect per-node open file data. The hashed mutex array provides
scalable per-node serialization (scaled by CPU count, up to 1024 locks
on 32+ CPU systems) with zero memory overhead.

Changes:
– Rename open_file_mutex[] to node_mutex[] to reflect dual purpose
– Add kernfs_node_lock_ptr() and kernfs_node_lock() helpers
– Protect simple_xattr_set() calls in kernfs_xattr_set() and
kernfs_vfs_user_xattr_set() with the hashed mutex
– Update file.c to use new helpers via compatibility wrappers
– Update documentation to explain the extended lock usage