CVE-2025-22072

spufs: fix gang directory lifetimes

State
Published
Severity
7.8 High
Published
Apr 16, 2025
Updated
Aug 5, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

Description

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

spufs: fix gang directory lifetimes

prior to "[POWERPC] spufs: Fix gang destroy leaks" we used to have a problem with gang lifetimes - creation of a gang returns opened gang directory, which normally gets removed when that gets closed, but if somebody has created a context belonging to that gang and kept it alive until the gang got closed, removal failed and we ended up with a leak.

Unfortunately, it had been fixed the wrong way. Dentry of gang directory was no longer pinned, and rmdir on close was gone. One problem was that failure of open kept calling simple_rmdir() as cleanup, which meant an unbalanced dput(). Another bug was in the success case - gang creation incremented link count on root directory, but that was no longer undone when gang got destroyed.

Fix consists of * reverting the commit in question * adding a counter to gang, protected by ->i_rwsem of gang directory inode. * having it set to 1 at creation time, dropped in both spufs_dir_close() and spufs_gang_close() and bumped in spufs_create_context(), provided that it's not 0. * using simple_recursive_removal() to take the gang directory out when counter reaches zero.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 877907d37da9694a34adc9dc3e2ce09400148cb5 to before 880e7b3da2e765c1f90c94c0539be039e96c7062Affected
  • 877907d37da9694a34adc9dc3e2ce09400148cb5 to before 324f280806aab28ef757aecc18df419676c10ef8Affected
  • 877907d37da9694a34adc9dc3e2ce09400148cb5 to before 029d8c711f5e5fe8cf63e8a4a1a140a06e224e45Affected
  • 877907d37da9694a34adc9dc3e2ce09400148cb5 to before 903733782f3ae28a2f7fe4dfb47c7fe3e079a528Affected
  • 877907d37da9694a34adc9dc3e2ce09400148cb5 to before fc646a6c6d14b5d581f162a7e32999f789e3a3acAffected
  • 877907d37da9694a34adc9dc3e2ce09400148cb5 to before c134deabf4784e155d360744d4a6a835b9de4dd4Affected
LinuxLinux
  • 2.6.22Affected
  • before 2.6.22Not affected
  • 6.1.134 through 6.1.*Not affected
  • 6.6.87 through 6.6.*Not affected
  • 6.12.23 through 6.12.*Not affected
  • 6.13.11 through 6.13.*Not affected
  • 6.14.2 through 6.14.*Not affected
  • 6.15 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.