public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org, leah.rumancik@gmail.com
Cc: Sasha Levin <sashal@kernel.org>
Subject: Re: [PATCH 6.1 06/29] xfs: validate block number being freed before adding to xefi
Date: Fri, 14 Mar 2025 19:10:06 -0400	[thread overview]
Message-ID: <20250314114210-a6b6a9e69a98be50@stable.kernel.org> (raw)
In-Reply-To: <20250313202550.2257219-7-leah.rumancik@gmail.com>

[ Sasha's backport helper bot ]

Hi,

Summary of potential issues:
ℹ️ This is part 06/29 of a series
⚠️ Found follow-up fixes in mainline

The upstream commit SHA1 provided is correct: 7dfee17b13e5024c5c0ab1911859ded4182de3e5

WARNING: Author mismatch between patch and upstream commit:
Backport author: Leah Rumancik<leah.rumancik@gmail.com>
Commit author: Dave Chinner<dchinner@redhat.com>

Status in newer kernel trees:
6.13.y | Present (exact SHA1)
6.12.y | Present (exact SHA1)
6.6.y | Present (exact SHA1)

Found fixes commits:
2bed0d82c2f7 xfs: fix bounds check in xfs_defer_agfl_block()

Note: The patch differs from the upstream commit:
---
1:  7dfee17b13e50 ! 1:  0de6be42d2941 xfs: validate block number being freed before adding to xefi
    @@ Metadata
      ## Commit message ##
         xfs: validate block number being freed before adding to xefi
     
    +    [ Upstream commit 7dfee17b13e5024c5c0ab1911859ded4182de3e5 ]
    +
         Bad things happen in defered extent freeing operations if it is
         passed a bad block number in the xefi. This can come from a bogus
         agno/agbno pair from deferred agfl freeing, or just a bad fsbno
    @@ Commit message
         Reviewed-by: Christoph Hellwig <hch@lst.de>
         Reviewed-by: Darrick J. Wong <djwong@kernel.org>
         Signed-off-by: Dave Chinner <david@fromorbit.com>
    +    Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
    +    Acked-by: "Darrick J. Wong" <djwong@kernel.org>
     
      ## fs/xfs/libxfs/xfs_ag.c ##
     @@ fs/xfs/libxfs/xfs_ag.c: xfs_ag_shrink_space(
    @@ fs/xfs/libxfs/xfs_alloc.c: xfs_defer_agfl_block(
     +
      	trace_xfs_agfl_free_defer(mp, agno, 0, agbno, 1);
      
    - 	xfs_extent_free_get_group(mp, xefi);
      	xfs_defer_add(tp, XFS_DEFER_OPS_TYPE_AGFL_FREE, &xefi->xefi_list);
     +	return 0;
      }
    @@ fs/xfs/libxfs/xfs_alloc.c: __xfs_free_extent_later(
      			       GFP_KERNEL | __GFP_NOFAIL);
      	xefi->xefi_startblock = bno;
     @@ fs/xfs/libxfs/xfs_alloc.c: __xfs_free_extent_later(
    - 
    - 	xfs_extent_free_get_group(mp, xefi);
    + 			XFS_FSB_TO_AGNO(tp->t_mountp, bno), 0,
    + 			XFS_FSB_TO_AGBNO(tp->t_mountp, bno), len);
      	xfs_defer_add(tp, XFS_DEFER_OPS_TYPE_FREE, &xefi->xefi_list);
     +	return 0;
      }
    @@ fs/xfs/libxfs/xfs_alloc.h: xfs_buf_to_agfl_bno(
      		xfs_filblks_t len, const struct xfs_owner_info *oinfo,
      		bool skip_discard);
      
    -@@ fs/xfs/libxfs/xfs_alloc.h: void xfs_extent_free_get_group(struct xfs_mount *mp,
    +@@ fs/xfs/libxfs/xfs_alloc.h: struct xfs_extent_free_item {
      #define XFS_EFI_ATTR_FORK	(1U << 1) /* freeing attr fork block */
      #define XFS_EFI_BMBT_BLOCK	(1U << 2) /* freeing bmap btree block */
      
---

NOTE: These results are for this patch alone. Full series testing will be
performed when all parts are received.

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.1.y        |  Success    |  Success   |

  reply	other threads:[~2025-03-14 23:10 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-13 20:25 [PATCH 6.1 00/29] patches for 6.1.y from 6.8 Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 01/29] xfs: pass refcount intent directly through the log intent code Leah Rumancik
2025-03-14 23:10   ` Sasha Levin
2025-03-13 20:25 ` [PATCH 6.1 02/29] xfs: pass xfs_extent_free_item " Leah Rumancik
2025-03-14 23:10   ` Sasha Levin
2025-03-13 20:25 ` [PATCH 6.1 03/29] xfs: fix confusing xfs_extent_item variable names Leah Rumancik
2025-03-14 23:10   ` Sasha Levin
2025-03-13 20:25 ` [PATCH 6.1 04/29] xfs: pass the xfs_bmbt_irec directly through the log intent code Leah Rumancik
2025-03-14 23:10   ` Sasha Levin
2025-03-13 20:25 ` [PATCH 6.1 05/29] xfs: pass per-ag references to xfs_free_extent Leah Rumancik
2025-03-14 23:10   ` Sasha Levin
2025-03-13 20:25 ` [PATCH 6.1 06/29] xfs: validate block number being freed before adding to xefi Leah Rumancik
2025-03-14 23:10   ` Sasha Levin [this message]
2025-03-13 20:25 ` [PATCH 6.1 07/29] xfs: fix bounds check in xfs_defer_agfl_block() Leah Rumancik
2025-03-14 23:10   ` Sasha Levin
2025-03-13 20:25 ` [PATCH 6.1 08/29] xfs: use deferred frees for btree block freeing Leah Rumancik
2025-03-14 23:10   ` Sasha Levin
2025-03-13 20:25 ` [PATCH 6.1 09/29] xfs: reserve less log space when recovering log intent items Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 10/29] xfs: move the xfs_rtbitmap.c declarations to xfs_rtbitmap.h Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 11/29] xfs: convert rt bitmap extent lengths to xfs_rtbxlen_t Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 12/29] xfs: consider minlen sized extents in xfs_rtallocate_extent_block Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 13/29] xfs: don't leak recovered attri intent items Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 14/29] xfs: use xfs_defer_pending objects to recover " Leah Rumancik
2025-03-21  8:39   ` Fedor Pchelkin
2025-03-21 17:42     ` Leah Rumancik
2025-03-22 14:27       ` Fedor Pchelkin
2025-03-24  0:29         ` Leah Rumancik
2025-03-24  8:53           ` Fedor Pchelkin
2025-03-24 21:10             ` Leah Rumancik
2025-03-25 11:50               ` Greg Kroah-Hartman
2025-03-13 20:25 ` [PATCH 6.1 15/29] xfs: pass the xfs_defer_pending object to iop_recover Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 16/29] xfs: transfer recovered intent item ownership in ->iop_recover Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 17/29] xfs: make rextslog computation consistent with mkfs Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 18/29] xfs: fix 32-bit truncation in xfs_compute_rextslog Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 19/29] xfs: don't allow overly small or large realtime volumes Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 20/29] xfs: remove unused fields from struct xbtree_ifakeroot Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 21/29] xfs: recompute growfsrtfree transaction reservation while growing rt volume Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 22/29] xfs: force all buffers to be written during btree bulk load Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 23/29] xfs: initialise di_crc in xfs_log_dinode Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 24/29] xfs: add lock protection when remove perag from radix tree Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 25/29] xfs: fix perag leak when growfs fails Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 26/29] xfs: ensure logflagsp is initialized in xfs_bmap_del_extent_real Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 27/29] xfs: update dir3 leaf block metadata after swap Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 28/29] xfs: reset XFS_ATTR_INCOMPLETE filter on node removal Leah Rumancik
2025-03-13 20:25 ` [PATCH 6.1 29/29] xfs: remove conditional building of rt geometry validator functions Leah Rumancik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250314114210-a6b6a9e69a98be50@stable.kernel.org \
    --to=sashal@kernel.org \
    --cc=leah.rumancik@gmail.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox