From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Christoph Hellwig <hch@lst.de>,
Keith Busch <kbusch@kernel.org>, Ming Lei <ming.lei@redhat.com>,
Chao Leng <lengchao@huawei.com>, Sagi Grimberg <sagi@grimberg.me>,
Hannes Reinecke <hare@suse.de>,
Chaitanya Kulkarni <kch@nvidia.com>, Jens Axboe <axboe@kernel.dk>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 052/198] blk-mq: move the srcu_struct used for quiescing to the tagset
Date: Mon, 20 Mar 2023 15:53:10 +0100 [thread overview]
Message-ID: <20230320145509.693045960@linuxfoundation.org> (raw)
In-Reply-To: <20230320145507.420176832@linuxfoundation.org>
From: Christoph Hellwig <hch@lst.de>
[ Upstream commit 80bd4a7aab4c9ce59bf5e35fdf52aa23d8a3c9f5 ]
All I/O submissions have fairly similar latencies, and a tagset-wide
quiesce is a fairly common operation.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Chao Leng <lengchao@huawei.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Link: https://lore.kernel.org/r/20221101150050.3510-12-hch@lst.de
[axboe: fix whitespace]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Stable-dep-of: 00e885efcfbb ("blk-mq: fix "bad unlock balance detected" on q->srcu in __blk_mq_run_dispatch_ops")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
block/blk-core.c | 27 +++++----------------------
block/blk-mq.c | 33 +++++++++++++++++++++++++--------
block/blk-mq.h | 14 +++++++-------
block/blk-sysfs.c | 9 ++-------
block/blk.h | 9 +--------
block/genhd.c | 2 +-
include/linux/blk-mq.h | 4 ++++
include/linux/blkdev.h | 9 ---------
8 files changed, 45 insertions(+), 62 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index 24ee7785a5ad5..d5da62bb4bc06 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -65,7 +65,6 @@ DEFINE_IDA(blk_queue_ida);
* For queue allocation
*/
struct kmem_cache *blk_requestq_cachep;
-struct kmem_cache *blk_requestq_srcu_cachep;
/*
* Controlling structure to kblockd
@@ -373,26 +372,20 @@ static void blk_timeout_work(struct work_struct *work)
{
}
-struct request_queue *blk_alloc_queue(int node_id, bool alloc_srcu)
+struct request_queue *blk_alloc_queue(int node_id)
{
struct request_queue *q;
- q = kmem_cache_alloc_node(blk_get_queue_kmem_cache(alloc_srcu),
- GFP_KERNEL | __GFP_ZERO, node_id);
+ q = kmem_cache_alloc_node(blk_requestq_cachep, GFP_KERNEL | __GFP_ZERO,
+ node_id);
if (!q)
return NULL;
- if (alloc_srcu) {
- blk_queue_flag_set(QUEUE_FLAG_HAS_SRCU, q);
- if (init_srcu_struct(q->srcu) != 0)
- goto fail_q;
- }
-
q->last_merge = NULL;
q->id = ida_alloc(&blk_queue_ida, GFP_KERNEL);
if (q->id < 0)
- goto fail_srcu;
+ goto fail_q;
q->stats = blk_alloc_queue_stats();
if (!q->stats)
@@ -434,11 +427,8 @@ struct request_queue *blk_alloc_queue(int node_id, bool alloc_srcu)
blk_free_queue_stats(q->stats);
fail_id:
ida_free(&blk_queue_ida, q->id);
-fail_srcu:
- if (alloc_srcu)
- cleanup_srcu_struct(q->srcu);
fail_q:
- kmem_cache_free(blk_get_queue_kmem_cache(alloc_srcu), q);
+ kmem_cache_free(blk_requestq_cachep, q);
return NULL;
}
@@ -1190,9 +1180,6 @@ int __init blk_dev_init(void)
sizeof_field(struct request, cmd_flags));
BUILD_BUG_ON(REQ_OP_BITS + REQ_FLAG_BITS > 8 *
sizeof_field(struct bio, bi_opf));
- BUILD_BUG_ON(ALIGN(offsetof(struct request_queue, srcu),
- __alignof__(struct request_queue)) !=
- sizeof(struct request_queue));
/* used for unplugging and affects IO latency/throughput - HIGHPRI */
kblockd_workqueue = alloc_workqueue("kblockd",
@@ -1203,10 +1190,6 @@ int __init blk_dev_init(void)
blk_requestq_cachep = kmem_cache_create("request_queue",
sizeof(struct request_queue), 0, SLAB_PANIC, NULL);
- blk_requestq_srcu_cachep = kmem_cache_create("request_queue_srcu",
- sizeof(struct request_queue) +
- sizeof(struct srcu_struct), 0, SLAB_PANIC, NULL);
-
blk_debugfs_root = debugfs_create_dir("block", NULL);
return 0;
diff --git a/block/blk-mq.c b/block/blk-mq.c
index aa67a52c5a069..f8c97d75b8d1a 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -261,8 +261,8 @@ EXPORT_SYMBOL_GPL(blk_mq_quiesce_queue_nowait);
*/
void blk_mq_wait_quiesce_done(struct request_queue *q)
{
- if (blk_queue_has_srcu(q))
- synchronize_srcu(q->srcu);
+ if (q->tag_set->flags & BLK_MQ_F_BLOCKING)
+ synchronize_srcu(q->tag_set->srcu);
else
synchronize_rcu();
}
@@ -4022,7 +4022,7 @@ static struct request_queue *blk_mq_init_queue_data(struct blk_mq_tag_set *set,
struct request_queue *q;
int ret;
- q = blk_alloc_queue(set->numa_node, set->flags & BLK_MQ_F_BLOCKING);
+ q = blk_alloc_queue(set->numa_node);
if (!q)
return ERR_PTR(-ENOMEM);
q->queuedata = queuedata;
@@ -4194,9 +4194,6 @@ static void blk_mq_update_poll_flag(struct request_queue *q)
int blk_mq_init_allocated_queue(struct blk_mq_tag_set *set,
struct request_queue *q)
{
- WARN_ON_ONCE(blk_queue_has_srcu(q) !=
- !!(set->flags & BLK_MQ_F_BLOCKING));
-
/* mark the queue as mq asap */
q->mq_ops = set->ops;
@@ -4453,8 +4450,18 @@ int blk_mq_alloc_tag_set(struct blk_mq_tag_set *set)
if (set->nr_maps == 1 && set->nr_hw_queues > nr_cpu_ids)
set->nr_hw_queues = nr_cpu_ids;
- if (blk_mq_alloc_tag_set_tags(set, set->nr_hw_queues) < 0)
- return -ENOMEM;
+ if (set->flags & BLK_MQ_F_BLOCKING) {
+ set->srcu = kmalloc(sizeof(*set->srcu), GFP_KERNEL);
+ if (!set->srcu)
+ return -ENOMEM;
+ ret = init_srcu_struct(set->srcu);
+ if (ret)
+ goto out_free_srcu;
+ }
+
+ ret = blk_mq_alloc_tag_set_tags(set, set->nr_hw_queues);
+ if (ret)
+ goto out_cleanup_srcu;
ret = -ENOMEM;
for (i = 0; i < set->nr_maps; i++) {
@@ -4484,6 +4491,12 @@ int blk_mq_alloc_tag_set(struct blk_mq_tag_set *set)
}
kfree(set->tags);
set->tags = NULL;
+out_cleanup_srcu:
+ if (set->flags & BLK_MQ_F_BLOCKING)
+ cleanup_srcu_struct(set->srcu);
+out_free_srcu:
+ if (set->flags & BLK_MQ_F_BLOCKING)
+ kfree(set->srcu);
return ret;
}
EXPORT_SYMBOL(blk_mq_alloc_tag_set);
@@ -4523,6 +4536,10 @@ void blk_mq_free_tag_set(struct blk_mq_tag_set *set)
kfree(set->tags);
set->tags = NULL;
+ if (set->flags & BLK_MQ_F_BLOCKING) {
+ cleanup_srcu_struct(set->srcu);
+ kfree(set->srcu);
+ }
}
EXPORT_SYMBOL(blk_mq_free_tag_set);
diff --git a/block/blk-mq.h b/block/blk-mq.h
index 0b2870839cdd6..ef59fee62780d 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -377,17 +377,17 @@ static inline bool hctx_may_queue(struct blk_mq_hw_ctx *hctx,
/* run the code block in @dispatch_ops with rcu/srcu read lock held */
#define __blk_mq_run_dispatch_ops(q, check_sleep, dispatch_ops) \
do { \
- if (!blk_queue_has_srcu(q)) { \
- rcu_read_lock(); \
- (dispatch_ops); \
- rcu_read_unlock(); \
- } else { \
+ if ((q)->tag_set->flags & BLK_MQ_F_BLOCKING) { \
int srcu_idx; \
\
might_sleep_if(check_sleep); \
- srcu_idx = srcu_read_lock((q)->srcu); \
+ srcu_idx = srcu_read_lock((q)->tag_set->srcu); \
(dispatch_ops); \
- srcu_read_unlock((q)->srcu, srcu_idx); \
+ srcu_read_unlock((q)->tag_set->srcu, srcu_idx); \
+ } else { \
+ rcu_read_lock(); \
+ (dispatch_ops); \
+ rcu_read_unlock(); \
} \
} while (0)
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index e71b3b43927c0..e7871665825a3 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -739,10 +739,8 @@ queue_attr_store(struct kobject *kobj, struct attribute *attr,
static void blk_free_queue_rcu(struct rcu_head *rcu_head)
{
- struct request_queue *q = container_of(rcu_head, struct request_queue,
- rcu_head);
-
- kmem_cache_free(blk_get_queue_kmem_cache(blk_queue_has_srcu(q)), q);
+ kmem_cache_free(blk_requestq_cachep,
+ container_of(rcu_head, struct request_queue, rcu_head));
}
/**
@@ -779,9 +777,6 @@ static void blk_release_queue(struct kobject *kobj)
if (queue_is_mq(q))
blk_mq_release(q);
- if (blk_queue_has_srcu(q))
- cleanup_srcu_struct(q->srcu);
-
ida_free(&blk_queue_ida, q->id);
call_rcu(&q->rcu_head, blk_free_queue_rcu);
}
diff --git a/block/blk.h b/block/blk.h
index a186ea20f39d8..4849a2efa4c50 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -27,7 +27,6 @@ struct blk_flush_queue {
};
extern struct kmem_cache *blk_requestq_cachep;
-extern struct kmem_cache *blk_requestq_srcu_cachep;
extern struct kobj_type blk_queue_ktype;
extern struct ida blk_queue_ida;
@@ -428,13 +427,7 @@ int bio_add_hw_page(struct request_queue *q, struct bio *bio,
struct page *page, unsigned int len, unsigned int offset,
unsigned int max_sectors, bool *same_page);
-static inline struct kmem_cache *blk_get_queue_kmem_cache(bool srcu)
-{
- if (srcu)
- return blk_requestq_srcu_cachep;
- return blk_requestq_cachep;
-}
-struct request_queue *blk_alloc_queue(int node_id, bool alloc_srcu);
+struct request_queue *blk_alloc_queue(int node_id);
int disk_scan_partitions(struct gendisk *disk, fmode_t mode);
diff --git a/block/genhd.c b/block/genhd.c
index 0b6928e948f31..4db1f905514c5 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -1436,7 +1436,7 @@ struct gendisk *__blk_alloc_disk(int node, struct lock_class_key *lkclass)
struct request_queue *q;
struct gendisk *disk;
- q = blk_alloc_queue(node, false);
+ q = blk_alloc_queue(node);
if (!q)
return NULL;
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h
index a9764cbf7f8d2..8e942e36f1c48 100644
--- a/include/linux/blk-mq.h
+++ b/include/linux/blk-mq.h
@@ -7,6 +7,7 @@
#include <linux/lockdep.h>
#include <linux/scatterlist.h>
#include <linux/prefetch.h>
+#include <linux/srcu.h>
struct blk_mq_tags;
struct blk_flush_queue;
@@ -507,6 +508,8 @@ enum hctx_type {
* @tag_list_lock: Serializes tag_list accesses.
* @tag_list: List of the request queues that use this tag set. See also
* request_queue.tag_set_list.
+ * @srcu: Use as lock when type of the request queue is blocking
+ * (BLK_MQ_F_BLOCKING).
*/
struct blk_mq_tag_set {
struct blk_mq_queue_map map[HCTX_MAX_TYPES];
@@ -527,6 +530,7 @@ struct blk_mq_tag_set {
struct mutex tag_list_lock;
struct list_head tag_list;
+ struct srcu_struct *srcu;
};
/**
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 891f8cbcd0436..36c286d22fb23 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -22,7 +22,6 @@
#include <linux/blkzoned.h>
#include <linux/sched.h>
#include <linux/sbitmap.h>
-#include <linux/srcu.h>
#include <linux/uuid.h>
#include <linux/xarray.h>
@@ -544,18 +543,11 @@ struct request_queue {
struct mutex debugfs_mutex;
bool mq_sysfs_init_done;
-
- /**
- * @srcu: Sleepable RCU. Use as lock when type of the request queue
- * is blocking (BLK_MQ_F_BLOCKING). Must be the last member
- */
- struct srcu_struct srcu[];
};
/* Keep blk_queue_flag_name[] in sync with the definitions below */
#define QUEUE_FLAG_STOPPED 0 /* queue is stopped */
#define QUEUE_FLAG_DYING 1 /* queue being torn down */
-#define QUEUE_FLAG_HAS_SRCU 2 /* SRCU is allocated */
#define QUEUE_FLAG_NOMERGES 3 /* disable merge attempts */
#define QUEUE_FLAG_SAME_COMP 4 /* complete on same CPU-group */
#define QUEUE_FLAG_FAIL_IO 5 /* fake timeout */
@@ -591,7 +583,6 @@ bool blk_queue_flag_test_and_set(unsigned int flag, struct request_queue *q);
#define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags)
#define blk_queue_dying(q) test_bit(QUEUE_FLAG_DYING, &(q)->queue_flags)
-#define blk_queue_has_srcu(q) test_bit(QUEUE_FLAG_HAS_SRCU, &(q)->queue_flags)
#define blk_queue_init_done(q) test_bit(QUEUE_FLAG_INIT_DONE, &(q)->queue_flags)
#define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags)
#define blk_queue_noxmerges(q) \
--
2.39.2
next prev parent reply other threads:[~2023-03-20 15:12 UTC|newest]
Thread overview: 213+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-20 14:52 [PATCH 6.1 000/198] 6.1.21-rc1 review Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 001/198] xfrm: Allow transport-mode states with AF_UNSPEC selector Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 002/198] drm/virtio: Pass correct device to dma_sync_sgtable_for_device() Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 003/198] drm/msm/gem: Prevent blocking within shrinker loop Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 004/198] drm/panfrost: Dont sync rpm suspension after mmu flushing Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 005/198] fbdev: chipsfb: Fix error codes in chipsfb_pci_init() Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 006/198] cifs: Move the in_send statistic to __smb_send_rqst() Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 007/198] drm/meson: fix 1px pink line on GXM when scaling video overlay Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 008/198] clk: HI655X: select REGMAP instead of depending on it Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 009/198] ASoC: SOF: Intel: MTL: Fix the device description Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 010/198] ASoC: SOF: Intel: HDA: Fix " Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 011/198] ASoC: SOF: Intel: SKL: " Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 012/198] ASOC: SOF: Intel: pci-tgl: " Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 013/198] ASoC: SOF: ipc4-topology: set dmic dai index from copier Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 014/198] docs: Correct missing "d_" prefix for dentry_operations member d_weak_revalidate Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 015/198] scsi: mpt3sas: Fix NULL pointer access in mpt3sas_transport_port_add() Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 016/198] scsi: mpi3mr: Fix throttle_groups memory leak Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 017/198] scsi: mpi3mr: Fix config page DMA " Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 018/198] scsi: mpi3mr: Fix mpi3mr_hba_port memory leak in mpi3mr_remove() Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 019/198] scsi: mpi3mr: Fix sas_hba.phy " Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 020/198] scsi: mpi3mr: Return proper values for failures in firmware init path Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 021/198] scsi: mpi3mr: Fix memory leaks in mpi3mr_init_ioc() Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 022/198] scsi: mpi3mr: ioctl timeout when disabling/enabling interrupt Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 023/198] scsi: mpi3mr: Fix expander node leak in mpi3mr_remove() Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 024/198] ALSA: hda: Match only Intel devices with CONTROLLER_IN_GPU() Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 025/198] netfilter: nft_nat: correct length for loading protocol registers Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 026/198] netfilter: nft_masq: " Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 027/198] netfilter: nft_redir: " Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 028/198] netfilter: nft_redir: correct value of inet type `.maxattrs` Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 029/198] scsi: core: Add BLIST_NO_VPD_SIZE for some VDASD Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 030/198] scsi: core: Fix a procfs host directory removal regression Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 031/198] ftrace,kcfi: Define ftrace_stub_graph conditionally Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 032/198] tcp: tcp_make_synack() can be called from process context Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 033/198] vdpa/mlx5: should not activate virtq object when suspended Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 034/198] wifi: nl80211: fix NULL-ptr deref in offchan check Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 035/198] wifi: cfg80211: fix MLO connection ownership Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 036/198] selftests: fix LLVM build for i386 and x86_64 Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 037/198] nfc: pn533: initialize struct pn533_out_arg properly Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 038/198] ipvlan: Make skb->skb_iif track skb->dev for l3s mode Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 039/198] i40e: Fix kernel crash during reboot when adapter is in recovery mode Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 040/198] vhost-vdpa: free iommu domain after last use during cleanup Greg Kroah-Hartman
2023-03-20 14:52 ` [PATCH 6.1 041/198] vdpa_sim: not reset state in vdpasim_queue_ready Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 042/198] vdpa_sim: set last_used_idx as last_avail_idx " Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 043/198] PCI: s390: Fix use-after-free of PCI resources with per-function hotplug Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 044/198] drm/i915/psr: Use calculated io and fast wake lines Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 045/198] drm/i915/sseu: fix max_subslices array-index-out-of-bounds access Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 046/198] net/smc: fix NULL sndbuf_desc in smc_cdc_tx_handler() Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 047/198] qed/qed_dev: guard against a possible division by zero Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 048/198] net: dsa: mt7530: remove now incorrect comment regarding port 5 Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 049/198] net: dsa: mt7530: set PLL frequency and trgmii only when trgmii is used Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 050/198] block: do not reverse request order when flushing plug list Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 051/198] loop: Fix use-after-free issues Greg Kroah-Hartman
2023-03-20 14:53 ` Greg Kroah-Hartman [this message]
2023-03-20 14:53 ` [PATCH 6.1 053/198] blk-mq: fix "bad unlock balance detected" on q->srcu in __blk_mq_run_dispatch_ops Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 054/198] net: tunnels: annotate lockless accesses to dev->needed_headroom Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 055/198] net: phy: smsc: bail out in lan87xx_read_status if genphy_read_status fails Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 056/198] tcp: Fix bind() conflict check for dual-stack wildcard address Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 057/198] nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 058/198] mlxsw: spectrum: Fix incorrect parsing depth after reload Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 059/198] net/smc: fix deadlock triggered by cancel_delayed_work_syn() Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 060/198] net: usb: smsc75xx: Limit packet length to skb->len Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 061/198] drm/bridge: Fix returned array size name for atomic_get_input_bus_fmts kdoc Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 062/198] powerpc/mm: Fix false detection of read faults Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 063/198] block: null_blk: Fix handling of fake timeout request Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 064/198] nvme: fix handling single range discard request Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 065/198] nvmet: avoid potential UAF in nvmet_req_complete() Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 066/198] block: sunvdc: add check for mdesc_grab() returning NULL Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 067/198] net/mlx5e: Fix macsec ASO context alignment Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 068/198] net/mlx5e: Dont cache tunnel offloads capability Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 069/198] net/mlx5: Fix setting ec_function bit in MANAGE_PAGES Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 070/198] net/mlx5: Disable eswitch before waiting for VF pages Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 071/198] net/mlx5e: Support Geneve and GRE with VF tunnel offload Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 072/198] net/mlx5: E-switch, Fix wrong usage of source port rewrite in split rules Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 073/198] net/mlx5: E-switch, Fix missing set of split_count when forward to ovs internal port Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 074/198] net/mlx5e: Fix cleanup null-ptr deref on encap lock Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 075/198] net/mlx5: Set BREAK_FW_WAIT flag first when removing driver Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 076/198] veth: Fix use after free in XDP_REDIRECT Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 077/198] ice: xsk: disable txq irq before flushing hw Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 078/198] net: dsa: dont error out when drivers return ETH_DATA_LEN in .port_max_mtu() Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 079/198] net: dsa: mv88e6xxx: fix max_mtu of 1492 on 6165, 6191, 6220, 6250, 6290 Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 080/198] ravb: avoid PHY being resumed when interface is not up Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 081/198] sh_eth: " Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 082/198] ipv4: Fix incorrect table ID in IOCTL path Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 083/198] net: usb: smsc75xx: Move packet length check to prevent kernel panic in skb_pull Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 084/198] net: atlantic: Fix crash when XDP is enabled but no program is loaded Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 085/198] net/iucv: Fix size of interrupt data Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 086/198] i825xx: sni_82596: use eth_hw_addr_set() Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 087/198] selftests: net: devlink_port_split.py: skip test if no suitable device available Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 088/198] qed/qed_mng_tlv: correctly zero out ->min instead of ->hour Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 089/198] net: dsa: microchip: fix RGMII delay configuration on KSZ8765/KSZ8794/KSZ8795 Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 090/198] ethernet: sun: add check for the mdesc_grab() Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 091/198] bonding: restore IFF_MASTER/SLAVE flags on bond enslave ether type change Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 092/198] bonding: restore bonds IFF_SLAVE flag if a non-eth dev enslave fails Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 093/198] hwmon: (adt7475) Display smoothing attributes in correct order Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 094/198] hwmon: (adt7475) Fix masking of hysteresis registers Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 095/198] hwmon: (xgene) Fix use after free bug in xgene_hwmon_remove due to race condition Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 096/198] hwmon: (ina3221) return prober error code Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 097/198] hwmon: (ucd90320) Add minimum delay between bus accesses Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 098/198] hwmon: tmp512: drop of_match_ptr for ID table Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 099/198] kconfig: Update config changed flag before calling callback Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 100/198] hwmon: (adm1266) Set `can_sleep` flag for GPIO chip Greg Kroah-Hartman
2023-03-20 14:53 ` [PATCH 6.1 101/198] hwmon: (ltc2992) " Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 102/198] media: m5mols: fix off-by-one loop termination error Greg Kroah-Hartman
2023-03-20 14:54 ` Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 103/198] mmc: atmel-mci: fix race between stop command and start of next command Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 104/198] soc: mediatek: mtk-svs: keep svs alive if CONFIG_DEBUG_FS not supported Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 105/198] jffs2: correct logic when creating a hole in jffs2_write_begin Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 106/198] rust: arch/um: Disable FP/SIMD instruction to match x86 Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 107/198] ext4: fail ext4_iget if special inode unallocated Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 108/198] ext4: update s_journal_inum if it changes after journal replay Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 109/198] ext4: fix task hung in ext4_xattr_delete_inode Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 110/198] drm/amdkfd: Fix an illegal memory access Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 111/198] net/9p: fix bug in client create for .L Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 112/198] LoongArch: Only call get_timer_irq() once in constant_clockevent_init() Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 113/198] sh: intc: Avoid spurious sizeof-pointer-div warning Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 114/198] drm/amdgpu: fix ttm_bo calltrace warning in psp_hw_fini Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 115/198] drm/amd/display: fix shift-out-of-bounds in CalculateVMAndRowBytes Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 116/198] ext4: fix possible double unlock when moving a directory Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 117/198] Revert "tty: serial: fsl_lpuart: adjust SERIAL_FSL_LPUART_CONSOLE config dependency" Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 118/198] tty: serial: fsl_lpuart: skip waiting for transmission complete when UARTCTRL_SBK is asserted Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 119/198] serial: 8250_em: Fix UART port type Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 120/198] serial: 8250_fsl: fix handle_irq locking Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 121/198] serial: 8250: ASPEED_VUART: select REGMAP instead of depending on it Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 122/198] firmware: xilinx: dont make a sleepable memory allocation from an atomic context Greg Kroah-Hartman
2023-03-20 14:54 ` Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 123/198] memory: tegra: fix interconnect registration race Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 124/198] memory: tegra20-emc: " Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 125/198] memory: tegra124-emc: " Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 126/198] memory: tegra30-emc: " Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 127/198] drm/ttm: Fix a NULL pointer dereference Greg Kroah-Hartman
2023-03-20 14:54 ` Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 128/198] s390/ipl: add missing intersection check to ipl_report handling Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 129/198] interconnect: fix icc_provider_del() error handling Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 130/198] interconnect: fix provider registration API Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 131/198] interconnect: imx: fix registration race Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 132/198] interconnect: fix mem leak when freeing nodes Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 133/198] interconnect: qcom: osm-l3: fix registration race Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 134/198] interconnect: qcom: rpm: fix probe child-node error handling Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 135/198] interconnect: qcom: rpm: fix registration race Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 136/198] interconnect: qcom: rpmh: fix probe child-node error handling Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 137/198] interconnect: qcom: rpmh: fix registration race Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 138/198] interconnect: qcom: msm8974: " Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 139/198] interconnect: exynos: fix node leak in probe PM QoS error path Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 140/198] interconnect: exynos: fix registration race Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 141/198] md: select BLOCK_LEGACY_AUTOLOAD Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 142/198] cifs: generate signkey for the channel thats reconnecting Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 143/198] tracing: Make splice_read available again Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 144/198] tracing: Check field value in hist_field_name() Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 145/198] tracing: Make tracepoint lockdep check actually test something Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 146/198] cifs: Fix smb2_set_path_size() Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 147/198] KVM: SVM: Fix a benign off-by-one bug in AVIC physical table mask Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 148/198] KVM: SVM: Modify AVIC GATag to support max number of 512 vCPUs Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 149/198] KVM: nVMX: add missing consistency checks for CR0 and CR4 Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 150/198] ALSA: hda: intel-dsp-config: add MTL PCI id Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 151/198] ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 152/198] ALSA: hda/realtek: fix speaker, mute/micmute LEDs not work on a HP platform Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 153/198] Revert "riscv: mm: notify remote harts about mmu cache updates" Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 154/198] riscv: asid: Fixup stale TLB entry cause application crash Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 155/198] drm/shmem-helper: Remove another errant put in error path Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 156/198] drm/sun4i: fix missing component unbind on bind errors Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 157/198] drm/i915/active: Fix misuse of non-idle barriers as fence trackers Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 158/198] drm/i915/dg2: Add HDMI pixel clock frequencies 267.30 and 319.89 MHz Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 159/198] drm/amdgpu: Dont resume IOMMU after incomplete init Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 160/198] drm/amd/pm: Fix sienna cichlid incorrect OD volage after resume Greg Kroah-Hartman
2023-03-20 14:54 ` [PATCH 6.1 161/198] drm/amd/pm: bump SMU 13.0.4 driver_if header version Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 162/198] drm/amd/display: Do not set DRR on pipe Commit Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 163/198] drm/amd/display: disconnect MPCC only on OTG change Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 164/198] mptcp: fix possible deadlock in subflow_error_report Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 165/198] mptcp: add ro_after_init for tcp{,v6}_prot_override Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 166/198] mptcp: avoid setting TCP_CLOSE state twice Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 167/198] mptcp: fix lockdep false positive in mptcp_pm_nl_create_listen_socket() Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 168/198] ftrace: Fix invalid address access in lookup_rec() when index is 0 Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 169/198] ocfs2: fix data corruption after failed write Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 170/198] nvme-pci: add NVME_QUIRK_BOGUS_NID for Netac NV3000 Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 171/198] ice: avoid bonding causing auxiliary plug/unplug under RTNL lock Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 172/198] vp_vdpa: fix the crash in hot unplug with vp_vdpa Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 173/198] mm/userfaultfd: propagate uffd-wp bit when PTE-mapping the huge zeropage Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 174/198] mm: teach mincore_hugetlb about pte markers Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 175/198] powerpc/64: Set default CPU in Kconfig Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 176/198] powerpc/boot: Dont always pass -mcpu=powerpc when building 32-bit uImage Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 177/198] mmc: sdhci_am654: lower power-on failed message severity Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 178/198] fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 179/198] trace/hwlat: Do not wipe the contents of per-cpu thread data Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 180/198] trace/hwlat: Do not start per-cpu thread if it is already running Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 181/198] ACPI: PPTT: Fix to avoid sleep in the atomic context when PPTT is absent Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 182/198] net: phy: nxp-c45-tja11xx: fix MII_BASIC_CONFIG_REV bit Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 183/198] fbdev: Fix incorrect page mapping clearance at fb_deferred_io_release() Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 184/198] cpuidle: psci: Iterate backwards over list in psci_pd_remove() Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 185/198] ASoC: Intel: soc-acpi: fix copy-paste issue in topology names Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 186/198] ASoC: qcom: q6prm: fix incorrect clk_root passed to ADSP Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 187/198] x86/mce: Make sure logged MCEs are processed after sysfs update Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 188/198] x86/mm: Fix use of uninitialized buffer in sme_enable() Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 189/198] x86/resctrl: Clear staged_config[] before and after it is used Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 190/198] powerpc: Pass correct CPU reference to assembler Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 191/198] virt/coco/sev-guest: Check SEV_SNP attribute at probe time Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 192/198] virt/coco/sev-guest: Simplify extended guest request handling Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 193/198] virt/coco/sev-guest: Remove the disable_vmpck label in handle_guest_request() Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 194/198] virt/coco/sev-guest: Carve out the request issuing logic into a helper Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 195/198] virt/coco/sev-guest: Do some code style cleanups Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 196/198] virt/coco/sev-guest: Convert the sw_exit_info_2 checking to a switch-case Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 197/198] virt/coco/sev-guest: Add throttling awareness Greg Kroah-Hartman
2023-03-20 14:55 ` [PATCH 6.1 198/198] io_uring/msg_ring: let target know allocated index Greg Kroah-Hartman
2023-03-20 17:18 ` [PATCH 6.1 000/198] 6.1.21-rc1 review Chris Paterson
2023-03-20 18:42 ` Naresh Kamboju
2023-03-21 7:48 ` Greg Kroah-Hartman
2023-03-20 20:58 ` Florian Fainelli
2023-03-20 23:04 ` Shuah Khan
2023-03-20 23:48 ` Wang Yugui
2023-03-21 7:46 ` Greg Kroah-Hartman
2023-03-21 3:42 ` ogasawara takeshi
2023-03-21 4:48 ` Bagas Sanjaya
2023-03-21 8:42 ` Conor Dooley
2023-03-21 11:56 ` Jon Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230320145509.693045960@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=axboe@kernel.dk \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=kch@nvidia.com \
--cc=lengchao@huawei.com \
--cc=ming.lei@redhat.com \
--cc=patches@lists.linux.dev \
--cc=sagi@grimberg.me \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.