CVE-2026-46040
Description
In the Linux kernel, the following vulnerability has been resolved: inotify: fix watch count leak when fsnotify_add_inode_mark_locked() fails When fsnotify_add_inode_mark_locked() fails in inotify_new_watch(), the error path calls inotify_remove_from_idr() but does not call dec_inotify_watches() to undo the preceding inc_inotify_watches(). This leaks a watch count, and repeated failures can exhaust the max_user_watches limit with -ENOSPC even when no watches are active. Prior to commit 1cce1eea0aff ("inotify: Convert to using per-namespace limits"), the watch count was incremented after fsnotify_add_mark_locked() succeeded, so this path was not affected. The conversion moved inc_inotify_watches() before the mark insertion without adding the corresponding rollback. Add the missing dec_inotify_watches() call in the error path.
How to fix
- linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4 or later
- git.kernel.org/stable/c/10edf7e0ffdc7faa18e2244b17722c1b882b8273
- git.kernel.org/stable/c/3ab58cf42c46bf2366d2f55ae5c59299d5e178b7
- git.kernel.org/stable/c/3ad9ccea1b25435f6179b57aa891960beb7ce8f9
- git.kernel.org/stable/c/6a320935fa4293e9e599ec9f85dc9eb3be7029f8
- git.kernel.org/stable/c/73ddc8518a32baff6bc17afda4ee1ebae5b4ed12
- git.kernel.org/stable/c/8bcc1cd237ab5ccfdd102869fa031c541943cf40
- git.kernel.org/stable/c/9e48844f708eb48bae4e79cb21edc097c966306d
- git.kernel.org/stable/c/fdaa42ca370d056428e5e171247c8fdce8dff36a
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 4.11 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.140, 6.7 ≤ v < 6.12.86, 6.13 ≤ v < 6.18.27, 6.19 ≤ v < 7.0.4 | 5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.