mbox series

[GIT,PULL] Btrfs fixes for 6.11-rc6

Message ID cover.1724844084.git.dsterba@suse.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Btrfs fixes for 6.11-rc6 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.11-rc5-tag

Message

David Sterba Aug. 28, 2024, 11:23 a.m. UTC
Hi,

a few more misc fixes. Please pull, thanks.

- fix use-after-free when submitting bios for read, after an error and
  partially submitted bio the original one is freed while it can be still be
  accessed again

- fix fstests case btrfs/301, with enabled quotas wait for delayed iputs when
  flushing delalloc

- fix regression in periodic block group reclaim, an unitialized value can be
  returned if there are no block groups to reclaim

- fix build warning (-Wmaybe-uninitialized)

----------------------------------------------------------------
The following changes since commit 534f7eff9239c1b0af852fc33f5af2b62c00eddf:

  btrfs: only enable extent map shrinker for DEBUG builds (2024-08-16 21:22:39 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.11-rc5-tag

for you to fetch changes up to ecb54277cb63c273e8d74272e5b9bfd80c2185d9:

  btrfs: fix uninitialized return value from btrfs_reclaim_sweep() (2024-08-27 16:42:09 +0200)

----------------------------------------------------------------
David Sterba (1):
      btrfs: initialize last_extent_end to fix -Wmaybe-uninitialized warning in extent_fiemap()

Filipe Manana (1):
      btrfs: fix uninitialized return value from btrfs_reclaim_sweep()

Josef Bacik (1):
      btrfs: run delayed iputs when flushing delalloc

Qu Wenruo (1):
      btrfs: fix a use-after-free when hitting errors inside btrfs_submit_chunk()

 fs/btrfs/bio.c        | 26 ++++++++++++++++++--------
 fs/btrfs/fiemap.c     |  2 +-
 fs/btrfs/qgroup.c     |  2 ++
 fs/btrfs/space-info.c | 17 +++++------------
 fs/btrfs/space-info.h |  2 +-
 5 files changed, 27 insertions(+), 22 deletions(-)

Comments

Filipe Manana Aug. 28, 2024, 11:50 a.m. UTC | #1
On Wed, Aug 28, 2024 at 12:23 PM David Sterba <dsterba@suse.com> wrote:
>
> Hi,
>
> a few more misc fixes. Please pull, thanks.
>
> - fix use-after-free when submitting bios for read, after an error and
>   partially submitted bio the original one is freed while it can be still be
>   accessed again
>
> - fix fstests case btrfs/301, with enabled quotas wait for delayed iputs when
>   flushing delalloc
>
> - fix regression in periodic block group reclaim, an unitialized value can be
>   returned if there are no block groups to reclaim

There's some confusion here.

First, it's not a regression because the uninitialized return value
has been there since periodic block group reclaim was introduced.

Secondly, and more important, is that it doesn't cause any problem
because the only caller of the function ignores its return value.

So this is effectively more of a cleanup than anything else, and could
have waited for the next merge window.
I see you also added a Fixes tag to the changelog, which will trigger
stable backports.

Unless there are compiler versions or static analysis tools that
complain with warnings, it will be just overhead to backport to stable
releases.

Thanks.

>
> - fix build warning (-Wmaybe-uninitialized)
>
> ----------------------------------------------------------------
> The following changes since commit 534f7eff9239c1b0af852fc33f5af2b62c00eddf:
>
>   btrfs: only enable extent map shrinker for DEBUG builds (2024-08-16 21:22:39 +0200)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.11-rc5-tag
>
> for you to fetch changes up to ecb54277cb63c273e8d74272e5b9bfd80c2185d9:
>
>   btrfs: fix uninitialized return value from btrfs_reclaim_sweep() (2024-08-27 16:42:09 +0200)
>
> ----------------------------------------------------------------
> David Sterba (1):
>       btrfs: initialize last_extent_end to fix -Wmaybe-uninitialized warning in extent_fiemap()
>
> Filipe Manana (1):
>       btrfs: fix uninitialized return value from btrfs_reclaim_sweep()
>
> Josef Bacik (1):
>       btrfs: run delayed iputs when flushing delalloc
>
> Qu Wenruo (1):
>       btrfs: fix a use-after-free when hitting errors inside btrfs_submit_chunk()
>
>  fs/btrfs/bio.c        | 26 ++++++++++++++++++--------
>  fs/btrfs/fiemap.c     |  2 +-
>  fs/btrfs/qgroup.c     |  2 ++
>  fs/btrfs/space-info.c | 17 +++++------------
>  fs/btrfs/space-info.h |  2 +-
>  5 files changed, 27 insertions(+), 22 deletions(-)
>
David Sterba Aug. 28, 2024, 12:18 p.m. UTC | #2
On Wed, Aug 28, 2024 at 12:50:22PM +0100, Filipe Manana wrote:
> On Wed, Aug 28, 2024 at 12:23 PM David Sterba <dsterba@suse.com> wrote:
> >
> > Hi,
> >
> > a few more misc fixes. Please pull, thanks.
> >
> > - fix use-after-free when submitting bios for read, after an error and
> >   partially submitted bio the original one is freed while it can be still be
> >   accessed again
> >
> > - fix fstests case btrfs/301, with enabled quotas wait for delayed iputs when
> >   flushing delalloc
> >
> > - fix regression in periodic block group reclaim, an unitialized value can be
> >   returned if there are no block groups to reclaim
> 
> There's some confusion here.
> 
> First, it's not a regression because the uninitialized return value
> has been there since periodic block group reclaim was introduced.

I used the word regression because it's been added in the same
development cycle, i.e. the dynamic reclaim, but yeah maybe it's too
strong.

> Secondly, and more important, is that it doesn't cause any problem
> because the only caller of the function ignores its return value.
> 
> So this is effectively more of a cleanup than anything else, and could
> have waited for the next merge window.
> I see you also added a Fixes tag to the changelog, which will trigger
> stable backports.

For completeness of the periodic reclaim code I'd rather add it now,
before 6.11 is released. The Fixes tag is for reference where it was
added,

> Unless there are compiler versions or static analysis tools that
> complain with warnings, it will be just overhead to backport to stable
> releases.

No backports should be triggered by that because it hasn't been
released

$ git describe --contains e4ca3932ae90
v6.11-rc1~157^2~32
pr-tracker-bot@kernel.org Aug. 28, 2024, 7:11 p.m. UTC | #3
The pull request you sent on Wed, 28 Aug 2024 13:23:12 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.11-rc5-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/2840526875c7e3bcfb3364420b70efa203bad428

Thank you!