CVE-2024-47660: fsnotify: clear PARENT_WATCHED flags lazily

Published Oct 9, 2024
·
Updated

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

fsnotify: clear PARENTWATCHED flags lazily

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

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

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

Other sources

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

fsnotify: clear PARENTWATCHED flags lazily

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

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

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

NVD

Affected Software

7 affected componentsFixes available
Linux Linux kernel<5.10.226
Linux Linux kernel>=5.11<5.15.167
Linux Linux kernel>=5.16<6.1.109
Linux Linux kernel>=6.2<6.6.50
Linux Linux kernel>=6.7<6.10.9
debian/linux<=5.10.223-1, <=5.10.234-1
6.1.129-16.1.135-16.12.22-16.12.25-1
debian/linux-6.1
6.1.129-1~deb11u1

Event History

Oct 9, 2024
CVE Published
via MITRE·02:02 PM
Data Sourced
via MITRE·02:02 PM
Description
Data Sourced
via NVD·02:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Data Sourced
via Red Hat·02:42 PM
DescriptionSeverityAffected Software
Apr 29, 2025
Data Sourced
via Ubuntu·06:25 AM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-47660?

CVE-2024-47660 has been assessed to have a high severity due to its potential impact on system performance and stability.

2

How do I fix CVE-2024-47660?

To mitigate CVE-2024-47660, upgrade your Linux kernel to versions 6.1.123-1, 6.1.128-1, 6.12.12-1, or 6.12.17-1 or apply the specific patches provided for your distribution.

3

Which versions of the Linux kernel are affected by CVE-2024-47660?

CVE-2024-47660 affects Linux kernel versions up to 5.10.226 and also certain versions ranging from 5.11 to 6.10.9.

4

What impact does CVE-2024-47660 have on Linux systems?

CVE-2024-47660 can lead to performance degradation in directory handling due to inefficient processing of dentry flags.

5

Is CVE-2024-47660 a remote exploit vulnerability?

CVE-2024-47660 is not a remote exploit vulnerability; its impact primarily affects local system performance and stability.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203