Message ID | 20241204155257.1110338-1-cel@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | Improve simple directory offset wrap behavior | expand |
On Wed, 04 Dec 2024 10:52:51 -0500, cel@kernel.org wrote: > From: Chuck Lever <chuck.lever@oracle.com> > > 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. > > My original plan was to add a cursor dentry. However, I've found a > solution that does not need one. In fact, most or all of the > reported issues are gone with 4/5. Thus I'm not sure 5/5 is > necessary, but it seems like a robust improvement. > > [...] Applied to the vfs-6.14.misc branch of the vfs/vfs.git tree. Patches in the vfs-6.14.misc branch should appear in linux-next soon. Please report any outstanding bugs that were missed during review in a new review to the original patch series allowing us to drop it. It's encouraged to provide Acked-bys and Reviewed-bys even though the patch has now been applied. If possible patch trailers will be updated. Note that commit hashes shown below are subject to change due to rebase, trailer updates or similar. If in doubt, please check the listed branch. tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs-6.14.misc [1/5] libfs: Return ENOSPC when the directory offset range is exhausted https://git.kernel.org/vfs/vfs/c/3569cc5260ac [2/5] Revert "libfs: Add simple_offset_empty()" https://git.kernel.org/vfs/vfs/c/06ed2dfc3234 [3/5] Revert "libfs: fix infinite directory reads for offset dir" https://git.kernel.org/vfs/vfs/c/29bc7ff8920d [4/5] libfs: Replace simple_offset end-of-directory detection https://git.kernel.org/vfs/vfs/c/d4849629a4b7 [5/5] libfs: Use d_children list to iterate simple_offset directories https://git.kernel.org/vfs/vfs/c/5ba9a91ae23f
On 12/4/24 10:52 AM, cel@kernel.org wrote: > From: Chuck Lever <chuck.lever@oracle.com> > > 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. > > My original plan was to add a cursor dentry. However, I've found a > solution that does not need one. In fact, most or all of the > reported issues are gone with 4/5. Thus I'm not sure 5/5 is > necessary, but it seems like a robust improvement. > > Changes since v3: > - Series is no longer RFC > - Series passes xfstests locally and via NFS export > - Patch 2/5 was replaced; it now removes simple_offset_empty() > - 4/5 and 5/5 were rewritten based on test results > - Patch descriptions have been clarified > > This series (still against v6.12) has been pushed to: > > https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=tmpfs-fixes > > Next step is to try backporting these to v6.6 to see if anything > else is needed. > > Chuck Lever (5): > libfs: Return ENOSPC when the directory offset range is exhausted > Revert "libfs: Add simple_offset_empty()" > Revert "libfs: fix infinite directory reads for offset dir" > libfs: Replace simple_offset end-of-directory detection > libfs: Use d_children list to iterate simple_offset directories > > fs/libfs.c | 158 ++++++++++++++++++++++----------------------- > include/linux/fs.h | 1 - > mm/shmem.c | 4 +- > 3 files changed, 81 insertions(+), 82 deletions(-) > I've backported these, as a proof of concept, to origin/linux-6.6.y. You can find that here: https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=nfsd-6.6.y This series passes xfstests, including generic/736. It would be a little cleaner if I could also backport da549bdd15c2 ("dentry: switch the lists of children to hlist"), but that has similar risks as backporting the Maple tree patches.
From: Chuck Lever <chuck.lever@oracle.com> 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. My original plan was to add a cursor dentry. However, I've found a solution that does not need one. In fact, most or all of the reported issues are gone with 4/5. Thus I'm not sure 5/5 is necessary, but it seems like a robust improvement. Changes since v3: - Series is no longer RFC - Series passes xfstests locally and via NFS export - Patch 2/5 was replaced; it now removes simple_offset_empty() - 4/5 and 5/5 were rewritten based on test results - Patch descriptions have been clarified This series (still against v6.12) has been pushed to: https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=tmpfs-fixes Next step is to try backporting these to v6.6 to see if anything else is needed. Chuck Lever (5): libfs: Return ENOSPC when the directory offset range is exhausted Revert "libfs: Add simple_offset_empty()" Revert "libfs: fix infinite directory reads for offset dir" libfs: Replace simple_offset end-of-directory detection libfs: Use d_children list to iterate simple_offset directories fs/libfs.c | 158 ++++++++++++++++++++++----------------------- include/linux/fs.h | 1 - mm/shmem.c | 4 +- 3 files changed, 81 insertions(+), 82 deletions(-)