linux/drivers/md
Linus Torvalds 8ebbaf8835 block-7.4-20261029
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmrjrZ0QHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpl3xEACV0gok/rxtzKB/z2gedIdA1NjY488cNdH3
 UP+YpoTNm4GE/A9bfmTLWjGaQlxmDSdlM8cmQzAKTjHNiGNFK/Pv+fqWzaz38Aet
 tUrxby2748CC3oin4BVxdTLqgSg35Yaw2S/zM/Zsxt3eMHtOdWZZYo8FKkvdf7fp
 DR166vphOGQFu598Allrd4OTXj+TLd6EFlZ7WSN7fq2a8193XuIvfH5HRkDEUbVB
 GA1wlltke/zildACho1MldBDkQYeGGGVk/J/1V5P8sB7TRrzyiRbO8RyfvwSR6OH
 ChNeVXA/iLjwJA9HVX7+q+VnVQRK/EgIVZZoum+BG9WO9ZcUaelxgF3ZIdYc0Pj0
 MDwg6iL4oWZKAqdb1jCYpjOqT3avp+oSQSD9sGpnzSmta2sMtQyulo00UGMBDuBP
 xx8zzeggbuJymFXrCTAZ7Ek1EUNZh3qcWgdUOhxHV+R0s9ovyZszOdGV4dLNm0wX
 aBO375d4O9FutZRzUA5vxEHbBue+S3maPkW2txn4WlnJNGRDIN/GyKoY6c5oyogy
 ApYQ2Gqlbvf7VOPiYVADhycVNUzcolf8EBOXu8zFvMTA8aXLwXalrIaEurnhpE51
 EQaPIZFXH4/dj6noHpgvYaAGFAFXpSSSXVIkG8a0CuhkDjrf6vU+dbt4PVhWP3xT
 BSFU97FGbw==
 =i457
 -----END PGP SIGNATURE-----

Merge tag 'block-7.4-20261029' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull more block updates from Jens Axboe:
 "Bigger than usual for an end-of-merge-window pull request, main reason
  being that the MD side I had missed a pull on, and both NVMe and block
  got a good pile of LLM driven fixes where some of them may as well
  just go in now rather than wait a full cycle. This contains:

   - NVMe fixes via Keith:
      - nvme-tcp fallout from the parallel queue allocation: initialize
        pf_cache_lock and the header digest before requests are set up,
        and don't dereference a NULL queue->ctrl on reconnect
      - nvme-fabrics queue mapping fixes: reset io_queues on reconnect,
        limit each queue type to the online CPUs, and clear a poll map
        with no poll queues
      - nvme-tcp io_work priority inversion with send_mutex held
        (Seiji), error recovery on read_sock failure and skipping TLS
        control records while waiting for the ICResp (Martin B), TLS
        handshake timeout validation, and an address attribute race
      - nvme-rdma NULL metadata_sgl dereference with T10-PI
      - nvme-pci early boot hang with the quirks parameter
      - nvme-multipath ANA log bounds underflow, and an nvme-fc
        discovery reference leak
      - nvmet hardening: rdma inline SGL out-of-bounds write and short
        connect requests, fc use-after-free in LS create connection and
        teardown on admin queue failure, pci-epf transport error
        reporting and SGL length checks, zns NUMD wrap, fc stale read
        data, auth state and status fixes, ports list and qid_max
        locking, rdma double puts and irq-safe locking, and a double
        free on metadata SGL allocation failure
      - nvmet fixes from Josef: big discard length truncation, NULL
        derefs for PCI endpoint targets and debugfs host_traddr, stop
        listening when a tcp port is removed, and don't BUG() in
        nvme-loop when a scan runs beside a reset

   - MD fixes via Yu Kuai:
      - raid5 validation: reject too few disks, invalid reshape disks, a
        per-device size below one chunk, and an inconsistent reshape
        state from the superblock instead of BUG(), plus journal payload
        size checks
      - raid5 error path and lifetime fixes: extra_page leak and NULL
        derefs in free_conf/setup_conf, draining released_stripes before
        destroying the cache, RCU for the big_stripe_tree lookup, and
        per-array io_unit slab names
      - md core: reject v0.90 arrays with too many devices, validate
        bblog_size, take reconfig_mutex when enabling PPL, fix the
        mddev->private NULL deref when stopping an array under IO, and
        don't hand out the array before mddev->kobj is added
      - raid10 missing barrier wakeup, raid0 device count validation, a
        bogus mddev_unlock() in lbs_store(), and shared helpers

   - blk-mq fixes from Josef:
      - don't trust the bio cookie in blk_mq_poll()
      - keep tag sharing fair after a queue update
      - don't bring back flags of a completed request from the timeout
        handler
      - honor a restarted timer
      - initialize the dma state for P2P
      - quiesce a queue joining a quiesced tag set
      - set up and exit hctxs under tag_list_lock
      - free the tag bitmaps in the SRCU callback

   - blk-cgroup and friends from Josef:
      - keep the old blkg while reassociating a bio
      - free struct ioc after a grace period
      - don't truncate v1 iops limits
      - fix root io.stat on 32-bit
      - don't free a blkg with its punt work queued
      - flush iolatency enable_work after going offline
      - pass dead group I/O counts on and make reset_stats reset them
      - don't enter reclaim under rq_qos_mutex

   - Other core fixes from Josef:
      - a disk use-after-free in sync_bdevs()
      - don't losing the status of a failed flush request
      - 64-bit sector math for mac partitions
      - apply the segment size to the integrity buffer

   - blk-iocost: abort a weight transfer on invalid donation weights,
     and publish hweights as one atomic value

   - Fix a NULL deref and use-after-free in __blk_crypto_evict_key(),
     reachable via dm-inlinecrypt

   - Fix recursive i_rwsem locking in blkdev_write_iter(), from two
     fixes for the same race landing in the window

   - Advance the iterator after copy-in for SG_DXFER_TO_FROM_DEV, fixing
     an infinite loop in blk_rq_map_user_iov()

   - Check the open mode for LOOP_SET_STATUS in the compat ioctl

   - rnbd-srv use-after-free and kobject fixes

   - drbd timer and req_lock fixes

   - zloop cleanups and error path fixes

   - cdrom header and kernel-doc cleanups"

* tag 'block-7.4-20261029' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (109 commits)
  blk-crypto: fix NULL deref and UAF in __blk_crypto_evict_key()
  zloop: check that the zone backing file support ->{read,write}_iter
  zloop: fput file after failed zone init
  zloop: share more code for opening a zone backing file
  zloop: remove a duplicate call to zloop_get_block_size
  block: fix kernel-doc warnings in blk-map.c and blk-mq-dma.c
  blk-iocost: publish hweights as one atomic value
  blk-iocost: abort weight transfer on invalid donation weights
  rnbd-srv: publish the sess_dev at the end of OPEN
  rnbd-srv: fix use-after-free on two CLOSE messages
  block/rnbd-srv: drop the sess_dev kobject unlocked
  block/rnbd-srv: don't free the device on a sysfs error
  drbd: take req_lock to skip the initial sync as peer
  drbd: stop the start_resync timer of a dying device
  block: apply the segment size to the integrity buffer
  blk-mq: free the bitmaps of tags in the SRCU callback
  block: partitions/mac: compute the sectors in 64 bits
  blk-mq: set up a queue under tag_list_lock
  blk-mq: exit the hctxs of a queue under tag_list_lock
  blk-mq: quiesce a queue that joins a quiesced tag set
  ...
2026-10-30 06:33:23 -10:00
..
bcache bcache: fix uninitialized closure object 2026-04-03 05:11:08 -06:00
dm-pcache md: fix typos in comments 2026-09-21 12:33:29 +02:00
dm-vdo md: fix typos in comments 2026-09-21 12:33:29 +02:00
persistent-data dm: use assign_bit() where applicable 2026-09-21 15:59:20 +02:00
dm-audit.c
dm-audit.h
dm-bio-prison-v1.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-bio-prison-v1.h
dm-bio-prison-v2.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-bio-prison-v2.h
dm-bio-record.h
dm-bufio.c dm-bufio: clean-up cache size reading 2026-10-13 15:35:52 +02:00
dm-builtin.c
dm-cache-background-tracker.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-cache-background-tracker.h
dm-cache-block-types.h
dm-cache-metadata.c md: fix typos in comments 2026-09-21 12:32:16 +02:00
dm-cache-metadata.h dm cache: prevent entering passthrough mode after unclean shutdown 2026-03-02 16:50:18 +01:00
dm-cache-policy-internal.h
dm-cache-policy-smq.c - small cleanups in dm-vdo, dm-raid, dm-cache, dm-zoned-metadata 2026-06-16 13:20:54 +05:30
dm-cache-policy.c
dm-cache-policy.h
dm-cache-target.c dm cache: fix demotion stats in passthrough mode 2026-09-01 15:22:36 +02:00
dm-clone-metadata.c dm-clone: remove unused memset 2026-09-17 14:54:22 +02:00
dm-clone-metadata.h
dm-clone-target.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-core.h Revert "dm: fix a race condition in retrieve_deps" 2026-01-28 15:44:02 +01:00
dm-crypt.c - dm 2026-10-24 13:40:26 -10:00
dm-delay.c dm-delay: advertise flush support 2026-09-17 14:55:19 +02:00
dm-dust.c dm dust: make badblock messages target-relative 2026-08-06 13:33:30 +02:00
dm-ebs-target.c dm-ebs: fix incorrect device offset check in ebs_ctr() 2026-09-02 17:01:13 +02:00
dm-era-target.c dm-era: fix shadowed superblock leak on take-snap failure 2026-08-06 13:55:01 +02:00
dm-exception-store.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-exception-store.h md: fix typos in comments 2026-09-21 12:32:16 +02:00
dm-flakey.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-ima.c dm-ima: use active table's size if available 2026-05-04 14:53:52 +02:00
dm-ima.h dm-ima: use active table's size if available 2026-05-04 14:53:52 +02:00
dm-init.c dm init: ensure device probing has finished in dm-mod.waitfor= 2026-03-18 15:36:33 +01:00
dm-inlinecrypt.c treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
dm-integrity.c dm-integrity: validate the superblock on resume 2026-10-01 13:18:00 +02:00
dm-io-rewind.c block: always adjust bi_offset on bio_advance_iter 2026-10-14 07:36:02 -06:00
dm-io-tracker.h
dm-io.c dm-io: report non-retryable errors separatedly 2026-07-27 23:09:28 +02:00
dm-ioctl.c dm: fix reading free memory in do_resume 2026-09-30 14:14:38 +02:00
dm-kcopyd.c dm-io: report non-retryable errors separatedly 2026-07-27 23:09:28 +02:00
dm-linear.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-log-userspace-base.c dm raid1: reserve space for NUL-terminator in build_constructor_string() 2026-07-20 15:27:42 +02:00
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log-writes.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-log.c dm-io: report non-retryable errors separatedly 2026-07-27 23:09:28 +02:00
dm-mpath.c dm: use assign_bit() where applicable 2026-09-21 15:59:20 +02:00
dm-mpath.h
dm-path-selector.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-path-selector.h
dm-ps-historical-service-time.c dm-mpath: check values in hst_status while holding spinlock 2026-10-09 11:57:18 +02:00
dm-ps-io-affinity.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-ps-queue-length.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-ps-round-robin.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-ps-service-time.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-raid.c md: fix typos in comments 2026-09-21 12:32:16 +02:00
dm-raid1.c md: fix typos in comments 2026-09-21 12:32:16 +02:00
dm-region-hash.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-rq.c block: switch numa_node to int in blk_mq_hw_ctx and init_request 2026-05-26 11:01:55 -06:00
dm-rq.h
dm-snap-persistent.c dm-snapshot: fix crash if dm_io_client_create fails 2026-10-12 13:19:34 +02:00
dm-snap-transient.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-snap.c - dm 2026-10-24 13:40:26 -10:00
dm-stats.c dm-stats: fix a crash if allocation of per-cpu data fails 2026-08-04 10:20:10 +02:00
dm-stats.h
dm-stripe.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-switch.c dm-switch: use WRITE_ONCE() in switch_region_table_write() 2026-07-15 15:52:19 +02:00
dm-sysfs.c
dm-table.c dm-table: fix spelling 2026-07-13 21:33:10 +02:00
dm-target.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-thin-metadata.c dm thin metadata: fix superblock refcount leak on snapshot shadow failure 2026-07-11 15:18:51 +02:00
dm-thin-metadata.h
dm-thin.c dm thin: Remove unnecessary locking from pool_map() 2026-09-30 14:23:58 +02:00
dm-uevent.c
dm-uevent.h
dm-unstripe.c md: fix typos in comments 2026-09-21 12:32:16 +02:00
dm-verity-fec.c dm-verity: fix buffer overflow in FEC calculation 2026-07-08 22:33:34 +02:00
dm-verity-fec.h dm-verity: fix buffer overflow in FEC calculation 2026-07-08 22:33:34 +02:00
dm-verity-loadpin.c dm-verity: fix a possible NULL pointer dereference 2026-07-10 14:41:43 +02:00
dm-verity-target.c dm-verity: clear LSM integrity state on suspend 2026-10-13 17:31:14 +02:00
dm-verity-verify-sig.c vfs-7.4-rc1.keyring 2026-10-27 08:01:30 -10:00
dm-verity-verify-sig.h dm-verity: fix section mismatch error 2026-01-21 14:06:23 +01:00
dm-verity.h dm-verity: make error counter atomic 2026-07-10 14:42:33 +02:00
dm-writecache.c dm-writecache: fix REQ_FUA processing 2026-10-01 13:09:48 +02:00
dm-zero.c
dm-zone.c dm: use assign_bit() where applicable 2026-09-21 15:59:20 +02:00
dm-zoned-metadata.c dm: use clear_and_wake_up_bit() in device mapper 2026-07-15 15:58:05 +02:00
dm-zoned-reclaim.c dm: use clear_and_wake_up_bit() in device mapper 2026-07-15 15:58:05 +02:00
dm-zoned-target.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dm-zoned.h
dm.c dm: fix a bug in dm_accept_partial_bio 2026-10-01 13:01:57 +02:00
dm.h
Kconfig dm-verity: add DM_VERITY_VERIFY_ROOTHASH_SIG_FORCE 2026-09-21 16:11:39 +02:00
Makefile dm-inlinecrypt: add target for inline block device encryption 2026-05-12 12:58:13 +02:00
md-autodetect.c
md-bitmap.c md: remove the last use of page_buffers() 2026-10-08 22:55:17 -07:00
md-bitmap.h md/md-llbitmap: add reshape range mapping helpers 2026-08-07 14:43:35 +08:00
md-cluster.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
md-cluster.h
md-linear.c md: remove REQ_NOWAIT support from raid1/10/456 2026-07-30 18:46:32 +08:00
md-llbitmap.c treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
md.c md: don't hand out the array before md_alloc() has added mddev->kobj 2026-10-09 11:52:58 +08:00
md.h md: add rdev_record_write_error() helper 2026-09-20 13:13:14 +08:00
raid1-10.c md/raid1-10: share flush_bio_list between raid1 and raid10 2026-09-20 13:19:35 +08:00
raid1.c md/raid1-10: share flush_bio_list between raid1 and raid10 2026-09-20 13:19:35 +08:00
raid1.h md: remove recovery_disabled 2026-01-26 13:17:38 +08:00
raid5-cache.c md/raid5: protect big_stripe_tree lookup with RCU 2026-10-04 23:26:23 +08:00
raid5-log.h
raid5-ppl.c md/raid5: give the io_unit slab caches per-array names 2026-09-22 14:54:47 +08:00
raid5.c md/raid5: drain released_stripes before destroying the cache 2026-10-04 12:18:36 +08:00
raid5.h md/raid5: track disks array size to fix extra_page leak on error paths 2026-09-17 14:45:46 +08:00
raid10.c md/raid1-10: share flush_bio_list between raid1 and raid10 2026-09-20 13:19:35 +08:00
raid10.h md/raid10: resize r10bio_pool for reshape 2026-07-31 05:40:46 +08:00
raid0.c md/raid0: validate device count before allocating devlist 2026-09-17 14:45:46 +08:00
raid0.h