CVE-2024-47660

fsnotify: clear PARENT_WATCHED flags lazily

State
Published
Severity
Not scored
Published
Oct 9, 2024
Updated
Oct 15, 2026
Reserved
Sep 30, 2024

Read the record on cve.org

Description

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

fsnotify: clear PARENT_WATCHED flags lazily

In some setups directories can have many (usually negative) dentries. Hence __fsnotify_update_child_dentry_flags() function can take a significant amount of time. Since the bulk of this function happens under inode->i_lock this causes a significant contention on the lock when we remove the watch from the directory as the __fsnotify_update_child_dentry_flags() call from fsnotify_recalc_mask() races with __fsnotify_update_child_dentry_flags() calls from __fsnotify_parent() happening on children. This can lead upto softlockup reports reported by users.

Fix the problem by calling fsnotify_update_children_dentry_flags() to set PARENT_WATCHED flags only when parent starts watching children.

When parent stops watching children, clear false positive PARENT_WATCHED flags lazily in __fsnotify_parent() for each accessed child.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 873feea09ebc980cbd3631b767356ce1eee65ec1 to before 3f3ef1d9f66b93913ce2171120d9226b55acd41dAffected
  • 873feea09ebc980cbd3631b767356ce1eee65ec1 to before f9a48bc3dd9099935751458a5bbbea4b7c28abc8Affected
  • 873feea09ebc980cbd3631b767356ce1eee65ec1 to before d8c42405fc3507cc43ba7e4986a773c3fc633f6eAffected
  • 873feea09ebc980cbd3631b767356ce1eee65ec1 to before fc1b1e135c3f72382f792e6c319fc088d5523ad5Affected
  • 873feea09ebc980cbd3631b767356ce1eee65ec1 to before 7ef1d2e240c32b1f337a37232d037b07e3919e1aAffected
  • 873feea09ebc980cbd3631b767356ce1eee65ec1 to before 172e422ffea20a89bfdc672741c1aad6fbb5044eAffected
LinuxLinux
  • 2.6.38Affected
  • before 2.6.38Not affected
  • 5.10.226 through 5.10.*Not affected
  • 5.15.167 through 5.15.*Not affected
  • 6.1.109 through 6.1.*Not affected
  • 6.6.50 through 6.6.*Not affected
  • 6.10.9 through 6.10.*Not affected
  • 6.11 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.