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>,
Jens Axboe <axboe@kernel.dk>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 127/183] block: untangle request_queue refcounting from sysfs
Date: Mon, 16 Jan 2023 16:50:50 +0100 [thread overview]
Message-ID: <20230116154808.742540822@linuxfoundation.org> (raw)
In-Reply-To: <20230116154803.321528435@linuxfoundation.org>
From: Christoph Hellwig <hch@lst.de>
[ Upstream commit 2bd85221a625b316114bafaab527770b607095d3 ]
The kobject embedded into the request_queue is used for the queue
directory in sysfs, but that is a child of the gendisks directory and is
intimately tied to it. Move this kobject to the gendisk and use a
refcount_t in the request_queue for the actual request_queue refcounting
that is completely unrelated to the device model.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20221114042637.1009333-5-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Stable-dep-of: 49e4d04f0486 ("block: Drop spurious might_sleep() from blk_put_queue()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
block/blk-core.c | 42 ++++++++++++++++----
block/blk-crypto-sysfs.c | 4 +-
block/blk-ia-ranges.c | 3 +-
block/blk-sysfs.c | 86 +++++++++++-----------------------------
block/blk.h | 4 --
block/bsg.c | 11 +++--
block/elevator.c | 2 +-
include/linux/blkdev.h | 6 +--
8 files changed, 71 insertions(+), 87 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index 9d6a947024ea..7de1bb16e9a7 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -59,12 +59,12 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(block_split);
EXPORT_TRACEPOINT_SYMBOL_GPL(block_unplug);
EXPORT_TRACEPOINT_SYMBOL_GPL(block_rq_insert);
-DEFINE_IDA(blk_queue_ida);
+static DEFINE_IDA(blk_queue_ida);
/*
* For queue allocation
*/
-struct kmem_cache *blk_requestq_cachep;
+static struct kmem_cache *blk_requestq_cachep;
/*
* Controlling structure to kblockd
@@ -252,19 +252,46 @@ void blk_clear_pm_only(struct request_queue *q)
}
EXPORT_SYMBOL_GPL(blk_clear_pm_only);
+static void blk_free_queue_rcu(struct rcu_head *rcu_head)
+{
+ kmem_cache_free(blk_requestq_cachep,
+ container_of(rcu_head, struct request_queue, rcu_head));
+}
+
+static void blk_free_queue(struct request_queue *q)
+{
+ might_sleep();
+
+ percpu_ref_exit(&q->q_usage_counter);
+
+ if (q->poll_stat)
+ blk_stat_remove_callback(q, q->poll_cb);
+ blk_stat_free_callback(q->poll_cb);
+
+ blk_free_queue_stats(q->stats);
+ kfree(q->poll_stat);
+
+ if (queue_is_mq(q))
+ blk_mq_release(q);
+
+ ida_free(&blk_queue_ida, q->id);
+ call_rcu(&q->rcu_head, blk_free_queue_rcu);
+}
+
/**
* blk_put_queue - decrement the request_queue refcount
* @q: the request_queue structure to decrement the refcount for
*
- * Decrements the refcount of the request_queue kobject. When this reaches 0
- * we'll have blk_release_queue() called.
+ * Decrements the refcount of the request_queue and free it when the refcount
+ * reaches 0.
*
* Context: Any context, but the last reference must not be dropped from
* atomic context.
*/
void blk_put_queue(struct request_queue *q)
{
- kobject_put(&q->kobj);
+ if (refcount_dec_and_test(&q->refs))
+ blk_free_queue(q);
}
EXPORT_SYMBOL(blk_put_queue);
@@ -399,8 +426,7 @@ struct request_queue *blk_alloc_queue(int node_id)
INIT_WORK(&q->timeout_work, blk_timeout_work);
INIT_LIST_HEAD(&q->icq_list);
- kobject_init(&q->kobj, &blk_queue_ktype);
-
+ refcount_set(&q->refs, 1);
mutex_init(&q->debugfs_mutex);
mutex_init(&q->sysfs_lock);
mutex_init(&q->sysfs_dir_lock);
@@ -444,7 +470,7 @@ bool blk_get_queue(struct request_queue *q)
{
if (unlikely(blk_queue_dying(q)))
return false;
- kobject_get(&q->kobj);
+ refcount_inc(&q->refs);
return true;
}
EXPORT_SYMBOL(blk_get_queue);
diff --git a/block/blk-crypto-sysfs.c b/block/blk-crypto-sysfs.c
index e05f145cd797..55268edc0625 100644
--- a/block/blk-crypto-sysfs.c
+++ b/block/blk-crypto-sysfs.c
@@ -140,8 +140,8 @@ int blk_crypto_sysfs_register(struct gendisk *disk)
return -ENOMEM;
obj->profile = q->crypto_profile;
- err = kobject_init_and_add(&obj->kobj, &blk_crypto_ktype, &q->kobj,
- "crypto");
+ err = kobject_init_and_add(&obj->kobj, &blk_crypto_ktype,
+ &disk->queue_kobj, "crypto");
if (err) {
kobject_put(&obj->kobj);
return err;
diff --git a/block/blk-ia-ranges.c b/block/blk-ia-ranges.c
index 2bd1d311033b..2141931ddd37 100644
--- a/block/blk-ia-ranges.c
+++ b/block/blk-ia-ranges.c
@@ -123,7 +123,8 @@ int disk_register_independent_access_ranges(struct gendisk *disk)
*/
WARN_ON(iars->sysfs_registered);
ret = kobject_init_and_add(&iars->kobj, &blk_ia_ranges_ktype,
- &q->kobj, "%s", "independent_access_ranges");
+ &disk->queue_kobj, "%s",
+ "independent_access_ranges");
if (ret) {
disk->ia_ranges = NULL;
kobject_put(&iars->kobj);
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index 1631ba2f7259..35e854bb6e0c 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -680,8 +680,8 @@ static struct attribute *queue_attrs[] = {
static umode_t queue_attr_visible(struct kobject *kobj, struct attribute *attr,
int n)
{
- struct request_queue *q =
- container_of(kobj, struct request_queue, kobj);
+ struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj);
+ struct request_queue *q = disk->queue;
if (attr == &queue_io_timeout_entry.attr &&
(!q->mq_ops || !q->mq_ops->timeout))
@@ -707,8 +707,8 @@ static ssize_t
queue_attr_show(struct kobject *kobj, struct attribute *attr, char *page)
{
struct queue_sysfs_entry *entry = to_queue(attr);
- struct request_queue *q =
- container_of(kobj, struct request_queue, kobj);
+ struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj);
+ struct request_queue *q = disk->queue;
ssize_t res;
if (!entry->show)
@@ -724,63 +724,19 @@ queue_attr_store(struct kobject *kobj, struct attribute *attr,
const char *page, size_t length)
{
struct queue_sysfs_entry *entry = to_queue(attr);
- struct request_queue *q;
+ struct gendisk *disk = container_of(kobj, struct gendisk, queue_kobj);
+ struct request_queue *q = disk->queue;
ssize_t res;
if (!entry->store)
return -EIO;
- q = container_of(kobj, struct request_queue, kobj);
mutex_lock(&q->sysfs_lock);
res = entry->store(q, page, length);
mutex_unlock(&q->sysfs_lock);
return res;
}
-static void blk_free_queue_rcu(struct rcu_head *rcu_head)
-{
- kmem_cache_free(blk_requestq_cachep,
- container_of(rcu_head, struct request_queue, rcu_head));
-}
-
-/**
- * blk_release_queue - releases all allocated resources of the request_queue
- * @kobj: pointer to a kobject, whose container is a request_queue
- *
- * This function releases all allocated resources of the request queue.
- *
- * The struct request_queue refcount is incremented with blk_get_queue() and
- * decremented with blk_put_queue(). Once the refcount reaches 0 this function
- * is called.
- *
- * Drivers exist which depend on the release of the request_queue to be
- * synchronous, it should not be deferred.
- *
- * Context: can sleep
- */
-static void blk_release_queue(struct kobject *kobj)
-{
- struct request_queue *q =
- container_of(kobj, struct request_queue, kobj);
-
- might_sleep();
-
- percpu_ref_exit(&q->q_usage_counter);
-
- if (q->poll_stat)
- blk_stat_remove_callback(q, q->poll_cb);
- blk_stat_free_callback(q->poll_cb);
-
- blk_free_queue_stats(q->stats);
- kfree(q->poll_stat);
-
- if (queue_is_mq(q))
- blk_mq_release(q);
-
- ida_free(&blk_queue_ida, q->id);
- call_rcu(&q->rcu_head, blk_free_queue_rcu);
-}
-
static const struct sysfs_ops queue_sysfs_ops = {
.show = queue_attr_show,
.store = queue_attr_store,
@@ -791,10 +747,15 @@ static const struct attribute_group *blk_queue_attr_groups[] = {
NULL
};
-struct kobj_type blk_queue_ktype = {
+static void blk_queue_release(struct kobject *kobj)
+{
+ /* nothing to do here, all data is associated with the parent gendisk */
+}
+
+static struct kobj_type blk_queue_ktype = {
.default_groups = blk_queue_attr_groups,
.sysfs_ops = &queue_sysfs_ops,
- .release = blk_release_queue,
+ .release = blk_queue_release,
};
static void blk_debugfs_remove(struct gendisk *disk)
@@ -820,20 +781,20 @@ int blk_register_queue(struct gendisk *disk)
int ret;
mutex_lock(&q->sysfs_dir_lock);
- ret = kobject_add(&q->kobj, &disk_to_dev(disk)->kobj, "queue");
+ kobject_init(&disk->queue_kobj, &blk_queue_ktype);
+ ret = kobject_add(&disk->queue_kobj, &disk_to_dev(disk)->kobj, "queue");
if (ret < 0)
- goto out_unlock_dir;
+ goto out_put_queue_kobj;
if (queue_is_mq(q)) {
ret = blk_mq_sysfs_register(disk);
if (ret)
- goto out_del_queue_kobj;
+ goto out_put_queue_kobj;
}
mutex_lock(&q->sysfs_lock);
mutex_lock(&q->debugfs_mutex);
- q->debugfs_dir = debugfs_create_dir(kobject_name(q->kobj.parent),
- blk_debugfs_root);
+ q->debugfs_dir = debugfs_create_dir(disk->disk_name, blk_debugfs_root);
if (queue_is_mq(q))
blk_mq_debugfs_register(q);
mutex_unlock(&q->debugfs_mutex);
@@ -857,7 +818,7 @@ int blk_register_queue(struct gendisk *disk)
blk_throtl_register(disk);
/* Now everything is ready and send out KOBJ_ADD uevent */
- kobject_uevent(&q->kobj, KOBJ_ADD);
+ kobject_uevent(&disk->queue_kobj, KOBJ_ADD);
if (q->elevator)
kobject_uevent(&q->elevator->kobj, KOBJ_ADD);
mutex_unlock(&q->sysfs_lock);
@@ -886,9 +847,8 @@ int blk_register_queue(struct gendisk *disk)
out_debugfs_remove:
blk_debugfs_remove(disk);
mutex_unlock(&q->sysfs_lock);
-out_del_queue_kobj:
- kobject_del(&q->kobj);
-out_unlock_dir:
+out_put_queue_kobj:
+ kobject_put(&disk->queue_kobj);
mutex_unlock(&q->sysfs_dir_lock);
return ret;
}
@@ -935,8 +895,8 @@ void blk_unregister_queue(struct gendisk *disk)
mutex_unlock(&q->sysfs_lock);
/* Now that we've deleted all child objects, we can delete the queue. */
- kobject_uevent(&q->kobj, KOBJ_REMOVE);
- kobject_del(&q->kobj);
+ kobject_uevent(&disk->queue_kobj, KOBJ_REMOVE);
+ kobject_del(&disk->queue_kobj);
mutex_unlock(&q->sysfs_dir_lock);
blk_debugfs_remove(disk);
diff --git a/block/blk.h b/block/blk.h
index 0661fa4b3a4d..6fe583dd6e3b 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -26,10 +26,6 @@ struct blk_flush_queue {
spinlock_t mq_flush_lock;
};
-extern struct kmem_cache *blk_requestq_cachep;
-extern struct kobj_type blk_queue_ktype;
-extern struct ida blk_queue_ida;
-
bool is_flush_rq(struct request *req);
struct blk_flush_queue *blk_alloc_flush_queue(int node, int cmd_size,
diff --git a/block/bsg.c b/block/bsg.c
index 2ab1351eb082..8eba57b9bb46 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -175,8 +175,10 @@ static void bsg_device_release(struct device *dev)
void bsg_unregister_queue(struct bsg_device *bd)
{
- if (bd->queue->kobj.sd)
- sysfs_remove_link(&bd->queue->kobj, "bsg");
+ struct gendisk *disk = bd->queue->disk;
+
+ if (disk && disk->queue_kobj.sd)
+ sysfs_remove_link(&disk->queue_kobj, "bsg");
cdev_device_del(&bd->cdev, &bd->device);
put_device(&bd->device);
}
@@ -216,8 +218,9 @@ struct bsg_device *bsg_register_queue(struct request_queue *q,
if (ret)
goto out_put_device;
- if (q->kobj.sd) {
- ret = sysfs_create_link(&q->kobj, &bd->device.kobj, "bsg");
+ if (q->disk && q->disk->queue_kobj.sd) {
+ ret = sysfs_create_link(&q->disk->queue_kobj, &bd->device.kobj,
+ "bsg");
if (ret)
goto out_device_del;
}
diff --git a/block/elevator.c b/block/elevator.c
index bd71f0fc4e4b..ac096f494911 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -499,7 +499,7 @@ int elv_register_queue(struct request_queue *q, bool uevent)
lockdep_assert_held(&q->sysfs_lock);
- error = kobject_add(&e->kobj, &q->kobj, "%s", "iosched");
+ error = kobject_add(&e->kobj, &q->disk->queue_kobj, "iosched");
if (!error) {
struct elv_fs_entry *attr = e->type->elevator_attrs;
if (attr) {
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 36c286d22fb2..17dc59c5aa90 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -155,6 +155,7 @@ struct gendisk {
unsigned open_partitions; /* number of open partitions */
struct backing_dev_info *bdi;
+ struct kobject queue_kobj; /* the queue/ directory */
struct kobject *slave_dir;
#ifdef CONFIG_BLOCK_HOLDER_DEPRECATED
struct list_head slave_bdevs;
@@ -437,10 +438,7 @@ struct request_queue {
struct gendisk *disk;
- /*
- * queue kobject
- */
- struct kobject kobj;
+ refcount_t refs;
/*
* mq queue kobject
--
2.35.1
next prev parent reply other threads:[~2023-01-16 15:59 UTC|newest]
Thread overview: 198+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-16 15:48 [PATCH 6.1 000/183] 6.1.7-rc1 review Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 001/183] netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 002/183] Revert "ALSA: usb-audio: Drop superfluous interface setup at parsing" Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 003/183] ALSA: control-led: use strscpy in set_led_id() Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 004/183] ALSA: usb-audio: Always initialize fixed_rate in snd_usb_find_implicit_fb_sync_format() Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 005/183] ALSA: hda/realtek - Turn on power early Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 006/183] ALSA: hda/realtek: Enable mute/micmute LEDs on HP Spectre x360 13-aw0xxx Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 007/183] KVM: x86: Do not return host topology information from KVM_GET_SUPPORTED_CPUID Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 008/183] KVM: arm64: Fix S1PTW handling on RO memslots Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 009/183] efi: fix userspace infinite retry read efivars after EFI runtime services page fault Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 010/183] efi: tpm: Avoid READ_ONCE() for accessing the event log Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 011/183] docs: Fix the docs build with Sphinx 6.0 Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 012/183] io_uring/poll: add hash if ready poll request cant complete inline Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 013/183] arm64: mte: Fix double-freeing of the temporary tag storage during coredump Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 014/183] arm64: mte: Avoid the racy walk of the vma list during core dump Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 015/183] arm64: cmpxchg_double*: hazard against entire exchange variable Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 016/183] ACPI: Fix selecting wrong ACPI fwnode for the iGPU on some Dell laptops Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 017/183] net: stmmac: add aux timestamps fifo clearance wait Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 018/183] perf auxtrace: Fix address filter duplicate symbol selection Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 019/183] s390/kexec: fix ipl report address for kdump Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 020/183] brcmfmac: Prefer DT board type over DMI board type Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 021/183] ASoC: qcom: lpass-cpu: Fix fallback SD line index handling Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 022/183] elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 023/183] cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 024/183] s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 025/183] s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple() Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 026/183] drm/virtio: Fix GEM handle creation UAF Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 027/183] drm/amd/pm/smu13: BACO is supported when its in BACO state Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 028/183] drm: Optimize drm buddy top-down allocation method Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 029/183] drm/i915/gt: Reset twice Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 030/183] drm/i915: Reserve enough fence slot for i915_vma_unbind_async Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 031/183] drm/i915: Fix potential context UAFs Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 032/183] drm/amd: Delay removal of the firmware framebuffer Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 033/183] drm/amdgpu: Fixed bug on error when unloading amdgpu Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 034/183] drm/amd/pm: correct the reference clock for fan speed(rpm) calculation Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 035/183] drm/amd/pm: add the missing mapping for PPT feature on SMU13.0.0 and 13.0.7 Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 036/183] drm/amd/display: move remaining FPU code to dml folder Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 037/183] Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly"" Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 038/183] cifs: Fix uninitialized memory read for smb311 posix symlink create Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 039/183] cifs: fix file info setting in cifs_query_path_info() Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 040/183] cifs: fix file info setting in cifs_open_file() Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 041/183] cifs: do not query ifaces on smb1 mounts Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 042/183] cifs: fix double free on failed kerberos auth Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 043/183] io_uring/fdinfo: include locked hash table in fdinfo output Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 044/183] ASoC: rt9120: Make dev PM runtime bind AsoC component PM Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 045/183] ACPI: video: Allow selecting NVidia-WMI-EC or Apple GMUX backlight from the cmdline Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 046/183] platform/x86: dell-privacy: Only register SW_CAMERA_LENS_COVER if present Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 047/183] platform/surface: aggregator: Ignore command messages not intended for us Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 048/183] platform/x86: int3472/discrete: Ensure the clk/power enable pins are in output mode Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 049/183] platform/x86: thinkpad_acpi: Fix profile mode display in AMT mode Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 050/183] platform/x86: asus-wmi: Dont load fan curves without fan Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 051/183] platform/x86: dell-privacy: Fix SW_CAMERA_LENS_COVER reporting Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 052/183] dt-bindings: msm: dsi-controller-main: Fix operating-points-v2 constraint Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 053/183] drm/msm: another fix for the headless Adreno GPU Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 054/183] firmware/psci: Fix MEM_PROTECT_RANGE function numbers Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 055/183] firmware/psci: Dont register with debugfs if PSCI isnt available Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 056/183] drm/msm/adreno: Make adreno quirks not overwrite each other Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 057/183] arm64/signal: Always allocate SVE signal frames on SME only systems Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 058/183] dt-bindings: msm: dsi-controller-main: Fix power-domain constraint Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 059/183] dt-bindings: msm: dsi-controller-main: Fix description of core clock Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 060/183] arm64/signal: Always accept SVE signal frames on SME only systems Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 061/183] arm64/mm: add pud_user_exec() check in pud_user_accessible_page() Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 062/183] dt-bindings: msm: dsi-phy-28nm: Add missing qcom, dsi-phy-regulator-ldo-mode Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 063/183] arm64: ptrace: Use ARM64_SME to guard the SME register enumerations Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 064/183] arm64/mm: fix incorrect file_map_count for invalid pmd Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 065/183] platform/x86: ideapad-laptop: Add Legion 5 15ARH05 DMI id to set_fn_lock_led_list[] Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 066/183] drm/msm/dp: do not complete dp_aux_cmd_fifo_tx() if irq is not for aux transfer Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 067/183] dt-bindings: msm/dsi: Dont require vdds-supply on 10nm PHY Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 068/183] dt-bindings: msm/dsi: Dont require vcca-supply on 14nm PHY Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 069/183] platform/x86: sony-laptop: Dont turn off 0x153 keyboard backlight during probe Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 070/183] ixgbe: fix pci device refcount leak Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 071/183] ipv6: raw: Deduct extension header length in rawv6_push_pending_frames Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 072/183] iavf/iavf_main: actually log ->src mask when talking about it Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 073/183] drm/i915/gt: Cleanup partial engine discovery failures Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 074/183] usb: ulpi: defer ulpi_register on ulpi_read_id timeout Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 075/183] drm/amd/pm: enable mode1 reset on smu_v13_0_10 Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 076/183] drm/amd/pm: Enable bad memory page/channel recording support for smu v13_0_0 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 077/183] drm/amd/pm: enable GPO dynamic control support for SMU13.0.0 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 078/183] drm/amd/pm: enable GPO dynamic control support for SMU13.0.7 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 079/183] drm/amdgpu: add soc21 common ip block support for GC 11.0.4 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 080/183] drm/amdgpu: Enable pg/cg flags on GC11_0_4 for VCN Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 081/183] drm/amdgpu: enable VCN DPG for GC IP v11.0.4 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 082/183] mm: Always release pages to the buddy allocator in memblock_free_late() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 083/183] iommu/iova: Fix alloc iova overflows issue Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 084/183] iommu/arm-smmu-v3: Dont unregister on shutdown Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 085/183] iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 086/183] iommu/arm-smmu: Dont unregister on shutdown Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 087/183] iommu/arm-smmu: Report IOMMU_CAP_CACHE_COHERENCY even betterer Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 088/183] sched/core: Fix use-after-free bug in dup_user_cpus_ptr() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 089/183] netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 090/183] selftests: netfilter: fix transaction test script timeout handling Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 091/183] powerpc/imc-pmu: Fix use of mutex in IRQs disabled section Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 092/183] x86/boot: Avoid using Intel mnemonics in AT&T syntax asm Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 093/183] EDAC/device: Fix period calculation in edac_device_reset_delay_period() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 094/183] x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 095/183] x86/resctrl: Fix task CLOSID/RMID update race Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 096/183] x86/resctrl: Fix event counts regression in reused RMIDs Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 097/183] regulator: da9211: Use irq handler when ready Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 098/183] scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 099/183] scsi: mpi3mr: Refer CONFIG_SCSI_MPI3MR in Makefile Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 100/183] scsi: ufs: core: WLUN suspend SSU/enter hibern8 fail recovery Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 101/183] ASoC: Intel: fix sof-nau8825 link failure Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 102/183] ASoC: Intel: sof_nau8825: support rt1015p speaker amplifier Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 103/183] ASoC: Intel: sof-nau8825: fix module alias overflow Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 104/183] drm/msm/dpu: Fix some kernel-doc comments Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 105/183] drm/msm/dpu: Fix memory leak in msm_mdss_parse_data_bus_icc_path Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 106/183] ASoC: wm8904: fix wrong outputs volume after power reactivation Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 107/183] mtd: parsers: scpart: fix __udivdi3 undefined on mips Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 108/183] mtd: cfi: allow building spi-intel standalone Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 109/183] ALSA: usb-audio: Make sure to stop endpoints before closing EPs Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 110/183] ALSA: usb-audio: Relax hw constraints for implicit fb sync Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 111/183] stmmac: dwmac-mediatek: remove the dwmac_fix_mac_speed Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 112/183] tipc: fix unexpected link reset due to discovery messages Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 113/183] NFSD: Pass the target nfsd_file to nfsd_commit() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 114/183] NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately" Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 115/183] NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 116/183] nfsd: remove the pages_flushed statistic from filecache Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 117/183] nfsd: reorganize filecache.c Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 118/183] NFSD: Add an nfsd_file_fsync tracepoint Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 119/183] nfsd: rework refcounting in filecache Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 120/183] nfsd: fix handling of cached open files in nfsd4_open codepath Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 121/183] octeontx2-af: Fix LMAC config in cgx_lmac_rx_tx_enable Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 122/183] sched/core: Fix arch_scale_freq_tick() on tickless systems Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 123/183] blk-mq: move the srcu_struct used for quiescing to the tagset Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 124/183] blk-crypto: pass a gendisk to blk_crypto_sysfs_{,un}register Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 125/183] block: factor out a blk_debugfs_remove helper Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 126/183] block: fix error unwinding in blk_register_queue Greg Kroah-Hartman
2023-01-16 15:50 ` Greg Kroah-Hartman [this message]
2023-01-16 15:50 ` [PATCH 6.1 128/183] block: mark blk_put_queue as potentially blocking Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 129/183] block: Drop spurious might_sleep() from blk_put_queue() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 130/183] hvc/xen: lock console list traversal Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 131/183] nfc: pn533: Wait for out_urbs completion in pn533_usb_send_frame() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 132/183] gro: avoid checking for a failed search Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 133/183] gro: take care of DODGY packets Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 134/183] af_unix: selftest: Fix the size of the parameter to connect() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 135/183] ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 136/183] tools/nolibc: restore mips branch ordering in the _start block Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 137/183] tools/nolibc: fix the O_* fcntl/open macro definitions for riscv Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 138/183] drm/amdgpu: Fix potential NULL dereference Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 139/183] ice: Fix potential memory leak in ice_gnss_tty_write() Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 140/183] ice: Add check for kzalloc Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 141/183] drm/vmwgfx: Write the driver id registers Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 142/183] drm/vmwgfx: Refactor resource managers hashtable to use linux/hashtable implementation Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 143/183] drm/vmwgfx: Remove ttm object hashtable Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 144/183] drm/vmwgfx: Refactor resource validation hashtable to use linux/hashtable implementation Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 145/183] drm/vmwgfx: Refactor ttm reference object hashtable to use linux/hashtable Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 146/183] drm/vmwgfx: Remove vmwgfx_hashtab Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 147/183] drm/vmwgfx: Remove rcu locks from user resources Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 148/183] net/sched: act_mpls: Fix warning during failed attribute validation Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 149/183] Revert "r8169: disable detection of chip version 36" Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 150/183] net/mlx5: check attr pointer validity before dereferencing it Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 151/183] net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 152/183] net/mlx5: Fix command stats access after free Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 153/183] net/mlx5e: Verify dev is present for fix features ndo Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 154/183] net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are present Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 155/183] net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 156/183] net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 157/183] net/mlx5: Fix ptp max frequency adjustment range Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 158/183] net/mlx5e: Dont support encap rules with gbp option Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 159/183] net/mlx5e: Fix macsec ssci attribute handling in offload path Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 160/183] net/mlx5e: Fix macsec possible null dereference when updating MAC security entity (SecY) Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 161/183] selftests/net: l2_tos_ttl_inherit.sh: Set IPv6 addresses with "nodad" Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 162/183] selftests/net: l2_tos_ttl_inherit.sh: Run tests in their own netns Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 163/183] selftests/net: l2_tos_ttl_inherit.sh: Ensure environment cleanup on failure Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 164/183] octeontx2-pf: Fix resource leakage in VF driver unbind Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 165/183] perf build: Properly guard libbpf includes Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 166/183] perf kmem: Support legacy tracepoints Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 167/183] perf kmem: Support field "node" in evsel__process_alloc_event() coping with recent tracepoint restructuring Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 168/183] igc: Fix PPS delta between two synchronized end-points Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 169/183] net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit() Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 170/183] net: hns3: fix wrong use of rss size during VF rss config Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 171/183] bnxt: make sure we return pages to the pool Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 172/183] platform/surface: aggregator: Add missing call to ssam_request_sync_free() Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 173/183] platform/x86/amd: Fix refcount leak in amd_pmc_probe Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 174/183] ALSA: usb-audio: Fix possible NULL pointer dereference in snd_usb_pcm_has_fixed_rate() Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 175/183] efi: fix NULL-deref in init error path Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 176/183] io_uring: lock overflowing for IOPOLL Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 177/183] io_uring/poll: attempt request issue after racy poll wakeup Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 178/183] drm/i915: Fix CFI violations in gt_sysfs Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 179/183] io_uring/io-wq: free worker if task_work creation is canceled Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 180/183] io_uring/io-wq: only free worker if it was allocated for creation Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 181/183] block: handle bio_split_to_limits() NULL return Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 182/183] Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout" Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 183/183] pinctrl: amd: Add dynamic debugging for active GPIOs Greg Kroah-Hartman
2023-01-16 22:38 ` [PATCH 6.1 000/183] 6.1.7-rc1 review Conor Dooley
2023-01-16 23:55 ` Shuah Khan
2023-01-17 2:05 ` Justin Forbes
2023-01-17 4:14 ` ogasawara takeshi
2023-01-17 7:11 ` Wang Yugui
2023-01-17 9:17 ` Greg Kroah-Hartman
2023-01-18 2:14 ` Wang Yugui
2023-01-18 6:08 ` Greg Kroah-Hartman
2023-01-17 8:40 ` Rudi Heitbaum
2023-01-17 9:01 ` Bagas Sanjaya
2023-01-17 9:32 ` Ron Economos
2023-01-17 10:05 ` Naresh Kamboju
2023-01-17 12:43 ` Sudip Mukherjee
2023-01-17 13:21 ` Allen Pais
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=20230116154808.742540822@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=patches@lists.linux.dev \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox