Merge patch series "Improve simple directory offset wrap behavior"
authorChristian Brauner <brauner@kernel.org>
Sat, 4 Jan 2025 09:15:58 +0000 (10:15 +0100)
committerChristian Brauner <brauner@kernel.org>
Sat, 4 Jan 2025 09:15:58 +0000 (10:15 +0100)
Chuck Lever <chuck.lever@oracle.com> says:

The purpose of this series is to construct a set of upstream fixes
that can be backported to v6.6 to address CVE-2024-46701.

In response to a reported failure of libhugetlbfs-test.32bit.gethugepagesizes:

https://lore.kernel.org/linux-fsdevel/f996eec0-30e1-4fbf-a936-49f3bedc09e9@oracle.com/T/#t

I've narrowed the range of directory offset values returned by
simple_offset_add() to 3 .. (S32_MAX - 1) on all platforms. This
means the allocation behavior is identical on 32-bit systems, 64-bit
systems, and 32-bit user space on 64-bit kernels. The new range
still permits over 2 billion concurrent entries per directory.

* patches from https://lore.kernel.org/r/20241228175522.1854234-1-cel@kernel.org:
  libfs: Use d_children list to iterate simple_offset directories
  libfs: Replace simple_offset end-of-directory detection
  Revert "libfs: fix infinite directory reads for offset dir"
  Revert "libfs: Add simple_offset_empty()"
  libfs: Return ENOSPC when the directory offset range is exhausted

Link: https://lore.kernel.org/r/20241228175522.1854234-1-cel@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>

Trivial merge