Commit d3eeb99b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull block fixes from Jens Axboe:

 - NVMe pull request via Keith:
     - Device quirk to disable faulty temperature (Ilikara)
     - TCP target null pointer fix from bad host protocol usage (Shivam)
     - Add apple,t8103-nvme-ans2 as a compatible apple controller
       (Janne)
     - FC tagset leak fix (Chaitanya)
     - TCP socket deadlock fix (Hannes)
     - Target name buffer overrun fix (Shin'ichiro)

 - Fix for an underflow for rnbd during device unmap

 - Zero the non-PI part of the auto integrity buffer

 - Fix for a configfs memory leak in the null block driver

* tag 'block-6.19-20260116' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
  rnbd-clt: fix refcount underflow in device unmap path
  nvme: fix PCIe subsystem reset controller state transition
  nvmet: do not copy beyond sybsysnqn string length
  nvmet-tcp: fixup hang in nvmet_tcp_listen_data_ready()
  null_blk: fix kmemleak by releasing references to fault configfs items
  block: zero non-PI portion of auto integrity buffer
  nvme-fc: release admin tagset if init fails
  nvme-apple: add "apple,t8103-nvme-ans2" as compatible
  nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec
  nvme-pci: disable secondary temp for Wodposit WPBSNM8
parents 216c7a03 ec19ed2b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@ bool bio_integrity_prep(struct bio *bio)
				return true;
			set_flags = false;
			gfp |= __GFP_ZERO;
		} else if (bi->csum_type == BLK_INTEGRITY_CSUM_NONE)
		} else if (bi->metadata_size > bi->pi_tuple_size)
			gfp |= __GFP_ZERO;
		break;
	default:
+11 −1
Original line number Diff line number Diff line
@@ -665,12 +665,22 @@ static void nullb_add_fault_config(struct nullb_device *dev)
	configfs_add_default_group(&dev->init_hctx_fault_config.group, &dev->group);
}

static void nullb_del_fault_config(struct nullb_device *dev)
{
	config_item_put(&dev->init_hctx_fault_config.group.cg_item);
	config_item_put(&dev->requeue_config.group.cg_item);
	config_item_put(&dev->timeout_config.group.cg_item);
}

#else

static void nullb_add_fault_config(struct nullb_device *dev)
{
}

static void nullb_del_fault_config(struct nullb_device *dev)
{
}
#endif

static struct
@@ -702,7 +712,7 @@ nullb_group_drop_item(struct config_group *group, struct config_item *item)
		null_del_dev(dev->nullb);
		mutex_unlock(&lock);
	}

	nullb_del_fault_config(dev);
	config_item_put(item);
}

+0 −1
Original line number Diff line number Diff line
@@ -1662,7 +1662,6 @@ static void destroy_sysfs(struct rnbd_clt_dev *dev,
			/* To avoid deadlock firstly remove itself */
			sysfs_remove_file_self(&dev->kobj, sysfs_self);
		kobject_del(&dev->kobj);
		kobject_put(&dev->kobj);
	}
}

+1 −0
Original line number Diff line number Diff line
@@ -1704,6 +1704,7 @@ static const struct apple_nvme_hw apple_nvme_t8103_hw = {

static const struct of_device_id apple_nvme_of_match[] = {
	{ .compatible = "apple,t8015-nvme-ans2", .data = &apple_nvme_t8015_hw },
	{ .compatible = "apple,t8103-nvme-ans2", .data = &apple_nvme_t8103_hw },
	{ .compatible = "apple,nvme-ans2", .data = &apple_nvme_t8103_hw },
	{},
};
+2 −0
Original line number Diff line number Diff line
@@ -3587,6 +3587,8 @@ nvme_fc_init_ctrl(struct device *dev, struct nvmf_ctrl_options *opts,

	ctrl->ctrl.opts = NULL;

	if (ctrl->ctrl.admin_tagset)
		nvme_remove_admin_tag_set(&ctrl->ctrl);
	/* initiate nvme ctrl ref counting teardown */
	nvme_uninit_ctrl(&ctrl->ctrl);

Loading