diff mbox series

[GIT,PULL] Block updates for 6.7-rc1

Message ID 1f416960-86d1-435f-825e-fc4a57747204@kernel.dk (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Block updates for 6.7-rc1 | expand

Pull-request

git://git.kernel.dk/linux.git tags/for-6.7/block-2023-10-30

Commit Message

Jens Axboe Oct. 30, 2023, 3:28 p.m. UTC
Hi Linus,

Here are the main block updates for the 6.7-rc1 merge window. Note that
this depends on for-6.7/io_uring which has been sent out, as it's
coordinating changes for uring_cmd cancelations with the ublk changes
being in this tree.

This pull request contains:

- Improvements to the queue_rqs() support, and adding null_blk support
  for that as well (Chengming)

- Series improving badblocks support (Coly)

- Key store support for sed-opal (Greg)

- IBM partition string handling improvements (Jan)

- Make number of ublk devices supported configurable (Mike)

- Cancelation improvements for ublk (Ming)

- MD pull requests via Song:
	- Handle timeout in md-cluster, by Denis Plotnikov
	- Cleanup pers->prepare_suspend, by Yu Kuai
	- Rewrite mddev_suspend(), by Yu Kuai
	- Simplify md_seq_ops, by Yu Kuai
	- Reduce unnecessary locking array_state_store(), by Mariusz
	  Tkaczyk
	- Make rdev add/remove independent from daemon thread, by Yu Kuai
	- Refactor code around quiesce() and mddev_suspend(), by Yu Kuai

- NVMe pull request via Keith:
	- nvme-auth updates (Mark)
	- nvme-tcp tls (Hannes)
	- nvme-fc annotaions (Kees)

- Misc cleanups and improvements (Jiapeng, Joel)

Note that this will throw a merge conflict in drivers/nvme/target/tcp.c
due to commit:

d920abd1e7c4 ("nvmet-tcp: Fix a possible UAF in queue intialization setup")

in your tree and commit

675b453e0241 ("nvmet-tcp: enable TLS handshake upcall")

in this tree. The resolution is to kill the goto section, as was done by
the former, and add the queue->state assignment to the kernel_sendmsg()
error return. Here's my resolution:

+++ b/drivers/nvme/target/tcp.c
@@@ -910,8 -932,8 +933,10 @@@ static int nvmet_tcp_handle_icreq(struc
  	iov.iov_base = icresp;
  	iov.iov_len = sizeof(*icresp);
  	ret = kernel_sendmsg(queue->sock, &msg, &iov, 1, iov.iov_len);
--	if (ret < 0)
 -		goto free_crypto;
++	if (ret < 0) {
++		queue->state = NVMET_TCP_Q_FAILED;
 +		return ret; /* queue removal will cleanup */
++	}
  
  	queue->state = NVMET_TCP_Q_LIVE;
  	nvmet_prepare_receive_pdu(queue);

Please pull!


The following changes since commit b3a4dbc89d4021b3f90ff6a13537111a004f9d07:

  io_uring/kbuf: Use slab for struct io_buffer objects (2023-10-05 08:38:17 -0600)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.7/block-2023-10-30

for you to fetch changes up to 0c696bb38f4cc0f0f90a8e06ae1eda21a9630cd0:

  Merge tag 'md-next-20231020' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.7/block (2023-10-20 10:37:01 -0600)

----------------------------------------------------------------
for-6.7/block-2023-10-30

----------------------------------------------------------------
Chengming Zhou (5):
      blk-mq: account active requests when get driver tag
      blk-mq: remove RQF_MQ_INFLIGHT
      blk-mq: support batched queue_rqs() on shared tags queue
      blk-mq: update driver tags request table when start request
      block/null_blk: add queue_rqs() support

Coly Li (6):
      badblocks: add more helper structure and routines in badblocks.h
      badblocks: add helper routines for badblock ranges handling
      badblocks: improve badblocks_set() for multiple ranges handling
      badblocks: improve badblocks_clear() for multiple ranges handling
      badblocks: improve badblocks_check() for multiple ranges handling
      badblocks: switch to the improved badblock handling code

Denis Plotnikov (1):
      md-cluster: check for timeout while a new disk adding

Greg Joyce (3):
      block:sed-opal: SED Opal keystore
      block: sed-opal: keystore access for SED Opal keys
      powerpc/pseries: PLPKS SED Opal keystore support

Hannes Reinecke (20):
      nvme-keyring: register '.nvme' keyring
      nvme-keyring: define a 'psk' keytype
      nvme: add TCP TSAS definitions
      nvme-tcp: add definitions for TLS cipher suites
      nvme-keyring: implement nvme_tls_psk_default()
      security/keys: export key_lookup()
      nvme-tcp: allocate socket file
      nvme-tcp: enable TLS handshake upcall
      nvme-tcp: control message handling for recvmsg()
      nvme-tcp: improve icreq/icresp logging
      nvme-fabrics: parse options 'keyring' and 'tls_key'
      nvmet: make TCP sectype settable via configfs
      nvmet-tcp: make nvmet_tcp_alloc_queue() a void function
      nvmet-tcp: allocate socket file
      nvmet: Set 'TREQ' to 'required' when TLS is enabled
      nvmet-tcp: enable TLS handshake upcall
      nvmet-tcp: control messages for recvmsg()
      nvmet-tcp: peek icreq before starting TLS
      nvme: rework NVME_AUTH Kconfig selection
      nvmet-tcp: use 'spin_lock_bh' for state_lock()

Jan Höppner (3):
      partitions/ibm: Remove unnecessary memset
      partitions/ibm: Replace strncpy() and improve readability
      partitions/ibm: Introduce defines for magic string length values

Jens Axboe (5):
      Merge tag 'md-next-20230927' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.7/block
      Merge tag 'md-next-20231012' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.7/block
      Merge branch 'for-6.7/io_uring' into for-6.7/block
      Merge tag 'nvme-6.7-2023-10-17' of git://git.infradead.org/nvme into for-6.7/block
      Merge tag 'md-next-20231020' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.7/block

Jiapeng Chong (1):
      block: ublk_drv: Remove unused function

Joel Granados (1):
      cdrom: Remove now superfluous sentinel element from ctl_table array

Justin Stitt (3):
      md: replace deprecated strncpy with memcpy
      null_blk: replace strncpy with strscpy
      aoe: replace strncpy with strscpy

Kees Cook (2):
      md/md-linear: Annotate struct linear_conf with __counted_by
      nvmet-fc: Annotate struct nvmet_fc_tgt_queue with __counted_by

Mariusz Tkaczyk (1):
      md: do not require mddev_lock() for all options in array_state_store()

Mark O'Donovan (3):
      nvme-auth: alloc nvme_dhchap_key as single buffer
      nvme-auth: use transformed key size to create resp
      nvme-auth: allow mixing of secret and hash lengths

Mike Christie (2):
      ublk: Limit dev_id/ub_number values
      ublk: Make ublks_max configurable

Ming Lei (7):
      ublk: don't get ublk device reference in ublk_abort_queue()
      ublk: make sure io cmd handled in submitter task context
      ublk: move ublk_cancel_dev() out of ub->mutex
      ublk: rename mm_lock as lock
      ublk: quiesce request queue when aborting queue
      ublk: replace monitor with cancelable uring_cmd
      ublk: simplify aborting request

Song Liu (1):
      Merge branch 'md-suspend-rewrite' into md-next

Yu Kuai (37):
      md: use separate work_struct for md_start_sync()
      md: factor out a helper to choose sync action from md_check_recovery()
      md: delay choosing sync action to md_start_sync()
      md: factor out a helper rdev_removeable() from remove_and_add_spares()
      md: factor out a helper rdev_is_spare() from remove_and_add_spares()
      md: factor out a helper rdev_addable() from remove_and_add_spares()
      md: delay remove_and_add_spares() for read only array to md_start_sync()
      md: initialize 'active_io' while allocating mddev
      md: initialize 'writes_pending' while allocating mddev
      md: don't rely on 'mddev->pers' to be set in mddev_suspend()
      md-bitmap: remove the checking of 'pers->quiesce' from location_store()
      md-bitmap: suspend array earlier in location_store()
      md: don't check 'mddev->pers' from suspend_hi_store()
      md: don't check 'mddev->pers' and 'pers->quiesce' from suspend_lo_store()
      md: factor out a helper from mddev_put()
      md: simplify md_seq_ops
      md/raid1: don't split discard io for write behind
      md: use READ_ONCE/WRITE_ONCE for 'suspend_lo' and 'suspend_hi'
      md/raid5-cache: use READ_ONCE/WRITE_ONCE for 'conf->log'
      md: replace is_md_suspended() with 'mddev->suspended' in md_check_recovery()
      md: add new helpers to suspend/resume array
      md: add new helpers to suspend/resume and lock/unlock array
      md/dm-raid: use new apis to suspend array
      md/md-bitmap: use new apis to suspend array for location_store()
      md/raid5-cache: use new apis to suspend array
      md/raid5: use new apis to suspend array
      md: use new apis to suspend array for sysfs apis
      md: use new apis to suspend array for adding/removing rdev from state_store()
      md: use new apis to suspend array for ioctls involed array reconfiguration
      md: use new apis to suspend array before mddev_create/destroy_serial_pool
      md: cleanup mddev_create/destroy_serial_pool()
      md/md-linear: cleanup linear_add()
      md/raid5: replace suspend with quiesce() callback
      md: suspend array in md_start_sync() if array need reconfiguration
      md: remove old apis to suspend the array
      md: rename __mddev_suspend/resume() back to mddev_suspend/resume()
      md: cleanup pers->prepare_suspend()

 arch/powerpc/platforms/pseries/Kconfig         |    6 +
 arch/powerpc/platforms/pseries/Makefile        |    1 +
 arch/powerpc/platforms/pseries/plpks_sed_ops.c |  131 ++
 block/Kconfig                                  |    1 +
 block/badblocks.c                              | 1618 +++++++++++++++++++-----
 block/blk-flush.c                              |   11 +-
 block/blk-mq-debugfs.c                         |    1 -
 block/blk-mq.c                                 |   45 +-
 block/blk-mq.h                                 |   57 +-
 block/partitions/ibm.c                         |   98 +-
 block/sed-opal.c                               |   18 +-
 drivers/block/aoe/aoenet.c                     |    3 +-
 drivers/block/null_blk/main.c                  |   22 +-
 drivers/block/ublk_drv.c                       |  342 +++--
 drivers/block/virtio_blk.c                     |    2 -
 drivers/cdrom/cdrom.c                          |    1 -
 drivers/md/dm-raid.c                           |   17 +-
 drivers/md/md-autodetect.c                     |    4 +-
 drivers/md/md-bitmap.c                         |   61 +-
 drivers/md/md-cluster.c                        |   15 +-
 drivers/md/md-linear.c                         |   28 +-
 drivers/md/md-linear.h                         |    2 +-
 drivers/md/md.c                                |  822 ++++++------
 drivers/md/md.h                                |   70 +-
 drivers/md/raid1.c                             |    6 +-
 drivers/md/raid10.c                            |    3 -
 drivers/md/raid5-cache.c                       |   64 +-
 drivers/md/raid5.c                             |  103 +-
 drivers/nvme/common/Kconfig                    |   13 +
 drivers/nvme/common/Makefile                   |    3 +-
 drivers/nvme/common/auth.c                     |   68 +-
 drivers/nvme/common/keyring.c                  |  182 +++
 drivers/nvme/host/Kconfig                      |   24 +-
 drivers/nvme/host/Makefile                     |    2 +-
 drivers/nvme/host/auth.c                       |   30 +-
 drivers/nvme/host/core.c                       |   14 +-
 drivers/nvme/host/fabrics.c                    |   67 +-
 drivers/nvme/host/fabrics.h                    |    9 +
 drivers/nvme/host/nvme.h                       |    5 +-
 drivers/nvme/host/pci.c                        |    1 -
 drivers/nvme/host/sysfs.c                      |   27 +-
 drivers/nvme/host/tcp.c                        |  184 ++-
 drivers/nvme/target/Kconfig                    |   22 +-
 drivers/nvme/target/auth.c                     |   31 +-
 drivers/nvme/target/configfs.c                 |  128 +-
 drivers/nvme/target/fc.c                       |    3 +-
 drivers/nvme/target/nvmet.h                    |   11 +
 drivers/nvme/target/tcp.c                      |  338 ++++-
 include/linux/badblocks.h                      |   30 +
 include/linux/blk-mq.h                         |    2 -
 include/linux/key.h                            |    1 +
 include/linux/nvme-auth.h                      |    7 +-
 include/linux/nvme-keyring.h                   |   36 +
 include/linux/nvme-tcp.h                       |    6 +
 include/linux/nvme.h                           |   10 +
 include/linux/sed-opal-key.h                   |   26 +
 security/keys/key.c                            |    1 +
 57 files changed, 3608 insertions(+), 1225 deletions(-)
 create mode 100644 arch/powerpc/platforms/pseries/plpks_sed_ops.c
 create mode 100644 drivers/nvme/common/keyring.c
 create mode 100644 include/linux/nvme-keyring.h
 create mode 100644 include/linux/sed-opal-key.h

Comments

pr-tracker-bot@kernel.org Nov. 1, 2023, 10:47 p.m. UTC | #1
The pull request you sent on Mon, 30 Oct 2023 09:28:11 -0600:

> git://git.kernel.dk/linux.git tags/for-6.7/block-2023-10-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/90d624af2e5a9945eedd5cafd6ae6d88f32cc977

Thank you!
diff mbox series

Patch

diff --cc drivers/nvme/target/tcp.c
index 197fc2ecb164,4336fe048e43..92b74d0b8686
--- a/drivers/nvme/target/tcp.c