mbox series

[GIT,PULL] bcachefs fixes for 6.12-rc7

Message ID voykwwyfpnpe54naeo67mbbltxodfqe5vzx7gk3rkwcj45e6vg@ak2ecjquamyn (mailing list archive)
State New
Headers show
Series [GIT,PULL] bcachefs fixes for 6.12-rc7 | expand

Pull-request

git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-11-07

Message

Kent Overstreet Nov. 7, 2024, 11:02 p.m. UTC
Hi Linus, about the usual batch of fixes...

- rebased to rc6 because upstream bugs were interfering with my CI
  results; also, there's still a bug in memory allocation profiling that
  Andrew hasn't sent you a fix for, which is keeping me from flipping on
  leak detection in all my tests

- bcachefs devs take note (and anyone dealing with syzbot): I now have a
  ktest test for building a kernel and running a syzbot reproducer in a
  single command, see
  https://evilpiepirate.org/git/ktest.git/commit/?id=3c30e501fb0d1413849cfc4f5832f8f5cff48585

The following changes since commit 59b723cd2adbac2a34fc8e12c74ae26ae45bf230:

  Linux 6.12-rc6 (2024-11-03 14:05:52 -1000)

are available in the Git repository at:

  git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-11-07

for you to fetch changes up to 8440da933127fc5330c3d1090cdd612fddbc40eb:

  bcachefs: Fix UAF in __promote_alloc() error path (2024-11-07 16:48:21 -0500)

----------------------------------------------------------------
bcachefs fixes for 6.12-rc7

Some trivial syzbot fixes, two more serious btree fixes found by looping
single_devices.ktest small_nodes:

- Topology error on split after merge, where we accidentaly picked the
  node being deleted for the pivot, resulting in an assertion pop

- New nodes being preallocated were left on the freedlist, unlocked,
  resulting in them sometimes being accidentally freed: this dated from
  pre-cycle detector, when we could leave them locked. This should have
  resulted in more explosions and fireworks, but turned out to be
  surprisingly hard to hit because the preallocated nodes were being
  used right away.

  the fix for this is bigger than we'd like - reworking btree list
  handling was a bit invasive - but we've now got more assertions and
  it's well tested.

- Also another mishandled transaction restart fix (in
  btree_node_prefetch) - we're almost done with those.

----------------------------------------------------------------
Hongbo Li (1):
      bcachefs: check the invalid parameter for perf test

Kent Overstreet (7):
      bcachefs: Fix null ptr deref in bucket_gen_get()
      bcachefs: Fix error handling in bch2_btree_node_prefetch()
      bcachefs: Ancient versions with bad bkey_formats are no longer supported
      bcachefs: Fix topology errors on split after merge
      bcachefs: Ensure BCH_FS_may_go_rw is set before exiting recovery
      bcachefs: btree_cache.freeable list fixes
      bcachefs: Fix UAF in __promote_alloc() error path

Pei Xiao (1):
      bcachefs: add check NULL return of bio_kmalloc in journal_read_bucket

Piotr Zalewski (1):
      bcachefs: Change OPT_STR max to be 1 less than the size of choices array

 fs/bcachefs/bkey.c                  |   7 +--
 fs/bcachefs/btree_cache.c           | 107 ++++++++++++++++++++++--------------
 fs/bcachefs/btree_cache.h           |   2 +
 fs/bcachefs/btree_node_scan.c       |   2 +-
 fs/bcachefs/btree_update_interior.c |  30 ++++++----
 fs/bcachefs/buckets.h               |  19 ++++---
 fs/bcachefs/errcode.h               |   1 +
 fs/bcachefs/io_read.c               |  10 ++--
 fs/bcachefs/io_write.c              |   7 +--
 fs/bcachefs/journal_io.c            |   2 +
 fs/bcachefs/opts.c                  |   4 +-
 fs/bcachefs/recovery.c              |   7 +++
 fs/bcachefs/recovery_passes.c       |   6 ++
 fs/bcachefs/tests.c                 |   5 ++
 14 files changed, 131 insertions(+), 78 deletions(-)