From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Matthew Mirvish <matthew@mm12.xyz>,
Coly Li <colyli@suse.de>, Jens Axboe <axboe@kernel.dk>
Subject: [PATCH 6.6 020/137] bcache: fix variable length array abuse in btree_iter
Date: Thu, 13 Jun 2024 13:33:20 +0200 [thread overview]
Message-ID: <20240613113224.074262708@linuxfoundation.org> (raw)
In-Reply-To: <20240613113223.281378087@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Matthew Mirvish <matthew@mm12.xyz>
commit 3a861560ccb35f2a4f0a4b8207fa7c2a35fc7f31 upstream.
btree_iter is used in two ways: either allocated on the stack with a
fixed size MAX_BSETS, or from a mempool with a dynamic size based on the
specific cache set. Previously, the struct had a fixed-length array of
size MAX_BSETS which was indexed out-of-bounds for the dynamically-sized
iterators, which causes UBSAN to complain.
This patch uses the same approach as in bcachefs's sort_iter and splits
the iterator into a btree_iter with a flexible array member and a
btree_iter_stack which embeds a btree_iter as well as a fixed-length
data array.
Cc: stable@vger.kernel.org
Closes: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2039368
Signed-off-by: Matthew Mirvish <matthew@mm12.xyz>
Signed-off-by: Coly Li <colyli@suse.de>
Link: https://lore.kernel.org/r/20240509011117.2697-3-colyli@suse.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/md/bcache/bset.c | 44 +++++++++++++++++++++---------------------
drivers/md/bcache/bset.h | 30 ++++++++++++++++++----------
drivers/md/bcache/btree.c | 40 ++++++++++++++++++++------------------
drivers/md/bcache/super.c | 5 ++--
drivers/md/bcache/sysfs.c | 2 -
drivers/md/bcache/writeback.c | 10 ++++-----
6 files changed, 71 insertions(+), 60 deletions(-)
--- a/drivers/md/bcache/bset.c
+++ b/drivers/md/bcache/bset.c
@@ -54,7 +54,7 @@ void bch_dump_bucket(struct btree_keys *
int __bch_count_data(struct btree_keys *b)
{
unsigned int ret = 0;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
struct bkey *k;
if (b->ops->is_extents)
@@ -67,7 +67,7 @@ void __bch_check_keys(struct btree_keys
{
va_list args;
struct bkey *k, *p = NULL;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
const char *err;
for_each_key(b, k, &iter) {
@@ -879,7 +879,7 @@ unsigned int bch_btree_insert_key(struct
unsigned int status = BTREE_INSERT_STATUS_NO_INSERT;
struct bset *i = bset_tree_last(b)->data;
struct bkey *m, *prev = NULL;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
struct bkey preceding_key_on_stack = ZERO_KEY;
struct bkey *preceding_key_p = &preceding_key_on_stack;
@@ -895,9 +895,9 @@ unsigned int bch_btree_insert_key(struct
else
preceding_key(k, &preceding_key_p);
- m = bch_btree_iter_init(b, &iter, preceding_key_p);
+ m = bch_btree_iter_stack_init(b, &iter, preceding_key_p);
- if (b->ops->insert_fixup(b, k, &iter, replace_key))
+ if (b->ops->insert_fixup(b, k, &iter.iter, replace_key))
return status;
status = BTREE_INSERT_STATUS_INSERT;
@@ -1100,33 +1100,33 @@ void bch_btree_iter_push(struct btree_it
btree_iter_cmp));
}
-static struct bkey *__bch_btree_iter_init(struct btree_keys *b,
- struct btree_iter *iter,
- struct bkey *search,
- struct bset_tree *start)
+static struct bkey *__bch_btree_iter_stack_init(struct btree_keys *b,
+ struct btree_iter_stack *iter,
+ struct bkey *search,
+ struct bset_tree *start)
{
struct bkey *ret = NULL;
- iter->size = ARRAY_SIZE(iter->data);
- iter->used = 0;
+ iter->iter.size = ARRAY_SIZE(iter->stack_data);
+ iter->iter.used = 0;
#ifdef CONFIG_BCACHE_DEBUG
- iter->b = b;
+ iter->iter.b = b;
#endif
for (; start <= bset_tree_last(b); start++) {
ret = bch_bset_search(b, start, search);
- bch_btree_iter_push(iter, ret, bset_bkey_last(start->data));
+ bch_btree_iter_push(&iter->iter, ret, bset_bkey_last(start->data));
}
return ret;
}
-struct bkey *bch_btree_iter_init(struct btree_keys *b,
- struct btree_iter *iter,
+struct bkey *bch_btree_iter_stack_init(struct btree_keys *b,
+ struct btree_iter_stack *iter,
struct bkey *search)
{
- return __bch_btree_iter_init(b, iter, search, b->set);
+ return __bch_btree_iter_stack_init(b, iter, search, b->set);
}
static inline struct bkey *__bch_btree_iter_next(struct btree_iter *iter,
@@ -1293,10 +1293,10 @@ void bch_btree_sort_partial(struct btree
struct bset_sort_state *state)
{
size_t order = b->page_order, keys = 0;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
int oldsize = bch_count_data(b);
- __bch_btree_iter_init(b, &iter, NULL, &b->set[start]);
+ __bch_btree_iter_stack_init(b, &iter, NULL, &b->set[start]);
if (start) {
unsigned int i;
@@ -1307,7 +1307,7 @@ void bch_btree_sort_partial(struct btree
order = get_order(__set_bytes(b->set->data, keys));
}
- __btree_sort(b, &iter, start, order, false, state);
+ __btree_sort(b, &iter.iter, start, order, false, state);
EBUG_ON(oldsize >= 0 && bch_count_data(b) != oldsize);
}
@@ -1323,11 +1323,11 @@ void bch_btree_sort_into(struct btree_ke
struct bset_sort_state *state)
{
uint64_t start_time = local_clock();
- struct btree_iter iter;
+ struct btree_iter_stack iter;
- bch_btree_iter_init(b, &iter, NULL);
+ bch_btree_iter_stack_init(b, &iter, NULL);
- btree_mergesort(b, new->set->data, &iter, false, true);
+ btree_mergesort(b, new->set->data, &iter.iter, false, true);
bch_time_stats_update(&state->time, start_time);
--- a/drivers/md/bcache/bset.h
+++ b/drivers/md/bcache/bset.h
@@ -321,7 +321,14 @@ struct btree_iter {
#endif
struct btree_iter_set {
struct bkey *k, *end;
- } data[MAX_BSETS];
+ } data[];
+};
+
+/* Fixed-size btree_iter that can be allocated on the stack */
+
+struct btree_iter_stack {
+ struct btree_iter iter;
+ struct btree_iter_set stack_data[MAX_BSETS];
};
typedef bool (*ptr_filter_fn)(struct btree_keys *b, const struct bkey *k);
@@ -333,9 +340,9 @@ struct bkey *bch_btree_iter_next_filter(
void bch_btree_iter_push(struct btree_iter *iter, struct bkey *k,
struct bkey *end);
-struct bkey *bch_btree_iter_init(struct btree_keys *b,
- struct btree_iter *iter,
- struct bkey *search);
+struct bkey *bch_btree_iter_stack_init(struct btree_keys *b,
+ struct btree_iter_stack *iter,
+ struct bkey *search);
struct bkey *__bch_bset_search(struct btree_keys *b, struct bset_tree *t,
const struct bkey *search);
@@ -350,13 +357,14 @@ static inline struct bkey *bch_bset_sear
return search ? __bch_bset_search(b, t, search) : t->data->start;
}
-#define for_each_key_filter(b, k, iter, filter) \
- for (bch_btree_iter_init((b), (iter), NULL); \
- ((k) = bch_btree_iter_next_filter((iter), (b), filter));)
-
-#define for_each_key(b, k, iter) \
- for (bch_btree_iter_init((b), (iter), NULL); \
- ((k) = bch_btree_iter_next(iter));)
+#define for_each_key_filter(b, k, stack_iter, filter) \
+ for (bch_btree_iter_stack_init((b), (stack_iter), NULL); \
+ ((k) = bch_btree_iter_next_filter(&((stack_iter)->iter), (b), \
+ filter));)
+
+#define for_each_key(b, k, stack_iter) \
+ for (bch_btree_iter_stack_init((b), (stack_iter), NULL); \
+ ((k) = bch_btree_iter_next(&((stack_iter)->iter)));)
/* Sorting */
--- a/drivers/md/bcache/btree.c
+++ b/drivers/md/bcache/btree.c
@@ -1304,7 +1304,7 @@ static bool btree_gc_mark_node(struct bt
uint8_t stale = 0;
unsigned int keys = 0, good_keys = 0;
struct bkey *k;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
struct bset_tree *t;
gc->nodes++;
@@ -1565,7 +1565,7 @@ static int btree_gc_rewrite_node(struct
static unsigned int btree_gc_count_keys(struct btree *b)
{
struct bkey *k;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
unsigned int ret = 0;
for_each_key_filter(&b->keys, k, &iter, bch_ptr_bad)
@@ -1606,17 +1606,18 @@ static int btree_gc_recurse(struct btree
int ret = 0;
bool should_rewrite;
struct bkey *k;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
struct gc_merge_info r[GC_MERGE_NODES];
struct gc_merge_info *i, *last = r + ARRAY_SIZE(r) - 1;
- bch_btree_iter_init(&b->keys, &iter, &b->c->gc_done);
+ bch_btree_iter_stack_init(&b->keys, &iter, &b->c->gc_done);
for (i = r; i < r + ARRAY_SIZE(r); i++)
i->b = ERR_PTR(-EINTR);
while (1) {
- k = bch_btree_iter_next_filter(&iter, &b->keys, bch_ptr_bad);
+ k = bch_btree_iter_next_filter(&iter.iter, &b->keys,
+ bch_ptr_bad);
if (k) {
r->b = bch_btree_node_get(b->c, op, k, b->level - 1,
true, b);
@@ -1906,7 +1907,7 @@ static int bch_btree_check_recurse(struc
{
int ret = 0;
struct bkey *k, *p = NULL;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
for_each_key_filter(&b->keys, k, &iter, bch_ptr_invalid)
bch_initial_mark_key(b->c, b->level, k);
@@ -1914,10 +1915,10 @@ static int bch_btree_check_recurse(struc
bch_initial_mark_key(b->c, b->level + 1, &b->key);
if (b->level) {
- bch_btree_iter_init(&b->keys, &iter, NULL);
+ bch_btree_iter_stack_init(&b->keys, &iter, NULL);
do {
- k = bch_btree_iter_next_filter(&iter, &b->keys,
+ k = bch_btree_iter_next_filter(&iter.iter, &b->keys,
bch_ptr_bad);
if (k) {
btree_node_prefetch(b, k);
@@ -1945,7 +1946,7 @@ static int bch_btree_check_thread(void *
struct btree_check_info *info = arg;
struct btree_check_state *check_state = info->state;
struct cache_set *c = check_state->c;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
struct bkey *k, *p;
int cur_idx, prev_idx, skip_nr;
@@ -1954,8 +1955,8 @@ static int bch_btree_check_thread(void *
ret = 0;
/* root node keys are checked before thread created */
- bch_btree_iter_init(&c->root->keys, &iter, NULL);
- k = bch_btree_iter_next_filter(&iter, &c->root->keys, bch_ptr_bad);
+ bch_btree_iter_stack_init(&c->root->keys, &iter, NULL);
+ k = bch_btree_iter_next_filter(&iter.iter, &c->root->keys, bch_ptr_bad);
BUG_ON(!k);
p = k;
@@ -1973,7 +1974,7 @@ static int bch_btree_check_thread(void *
skip_nr = cur_idx - prev_idx;
while (skip_nr) {
- k = bch_btree_iter_next_filter(&iter,
+ k = bch_btree_iter_next_filter(&iter.iter,
&c->root->keys,
bch_ptr_bad);
if (k)
@@ -2046,7 +2047,7 @@ int bch_btree_check(struct cache_set *c)
int ret = 0;
int i;
struct bkey *k = NULL;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
struct btree_check_state check_state;
/* check and mark root node keys */
@@ -2542,11 +2543,11 @@ static int bch_btree_map_nodes_recurse(s
if (b->level) {
struct bkey *k;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
- bch_btree_iter_init(&b->keys, &iter, from);
+ bch_btree_iter_stack_init(&b->keys, &iter, from);
- while ((k = bch_btree_iter_next_filter(&iter, &b->keys,
+ while ((k = bch_btree_iter_next_filter(&iter.iter, &b->keys,
bch_ptr_bad))) {
ret = bcache_btree(map_nodes_recurse, k, b,
op, from, fn, flags);
@@ -2575,11 +2576,12 @@ int bch_btree_map_keys_recurse(struct bt
{
int ret = MAP_CONTINUE;
struct bkey *k;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
- bch_btree_iter_init(&b->keys, &iter, from);
+ bch_btree_iter_stack_init(&b->keys, &iter, from);
- while ((k = bch_btree_iter_next_filter(&iter, &b->keys, bch_ptr_bad))) {
+ while ((k = bch_btree_iter_next_filter(&iter.iter, &b->keys,
+ bch_ptr_bad))) {
ret = !b->level
? fn(op, b, k)
: bcache_btree(map_keys_recurse, k,
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1913,8 +1913,9 @@ struct cache_set *bch_cache_set_alloc(st
INIT_LIST_HEAD(&c->btree_cache_freed);
INIT_LIST_HEAD(&c->data_buckets);
- iter_size = ((meta_bucket_pages(sb) * PAGE_SECTORS) / sb->block_size + 1) *
- sizeof(struct btree_iter_set);
+ iter_size = sizeof(struct btree_iter) +
+ ((meta_bucket_pages(sb) * PAGE_SECTORS) / sb->block_size) *
+ sizeof(struct btree_iter_set);
c->devices = kcalloc(c->nr_uuids, sizeof(void *), GFP_KERNEL);
if (!c->devices)
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -660,7 +660,7 @@ static unsigned int bch_root_usage(struc
unsigned int bytes = 0;
struct bkey *k;
struct btree *b;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
goto lock_root;
--- a/drivers/md/bcache/writeback.c
+++ b/drivers/md/bcache/writeback.c
@@ -908,15 +908,15 @@ static int bch_dirty_init_thread(void *a
struct dirty_init_thrd_info *info = arg;
struct bch_dirty_init_state *state = info->state;
struct cache_set *c = state->c;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
struct bkey *k, *p;
int cur_idx, prev_idx, skip_nr;
k = p = NULL;
prev_idx = 0;
- bch_btree_iter_init(&c->root->keys, &iter, NULL);
- k = bch_btree_iter_next_filter(&iter, &c->root->keys, bch_ptr_bad);
+ bch_btree_iter_stack_init(&c->root->keys, &iter, NULL);
+ k = bch_btree_iter_next_filter(&iter.iter, &c->root->keys, bch_ptr_bad);
BUG_ON(!k);
p = k;
@@ -930,7 +930,7 @@ static int bch_dirty_init_thread(void *a
skip_nr = cur_idx - prev_idx;
while (skip_nr) {
- k = bch_btree_iter_next_filter(&iter,
+ k = bch_btree_iter_next_filter(&iter.iter,
&c->root->keys,
bch_ptr_bad);
if (k)
@@ -979,7 +979,7 @@ void bch_sectors_dirty_init(struct bcach
int i;
struct btree *b = NULL;
struct bkey *k = NULL;
- struct btree_iter iter;
+ struct btree_iter_stack iter;
struct sectors_dirty_init op;
struct cache_set *c = d->c;
struct bch_dirty_init_state state;
next prev parent reply other threads:[~2024-06-13 12:05 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 11:33 [PATCH 6.6 000/137] 6.6.34-rc1 review Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 001/137] drm/i915/hwmon: Get rid of devm Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 002/137] mmc: core: Do not force a retune before RPMB switch Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 003/137] afs: Dont cross .backup mountpoint from backup volume Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 004/137] net: sfp-bus: fix SFP mode detect from bitrate Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 005/137] riscv: signal: handle syscall restart before get_signal Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 006/137] mptcp: avoid some duplicate code in socket option handling Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 007/137] mptcp: cleanup SOL_TCP handling Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 008/137] mptcp: fix full TCP keep-alive support Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 009/137] erofs: avoid allocating DEFLATE streams before mounting Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 010/137] mm: ratelimit stat flush from workingset shrinker Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 011/137] vxlan: Fix regression when dropping packets due to invalid src addresses Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 012/137] selftests/net: synchronize udpgro tests tx and rx connection Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 013/137] selftests: net: included needed helper in the install targets Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 014/137] selftests: net: List helper scripts in TEST_FILES Makefile variable Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 015/137] drm/sun4i: hdmi: Convert encoder to atomic Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 016/137] drm/sun4i: hdmi: Move mode_set into enable Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 017/137] f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode() Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 018/137] media: lgdt3306a: Add a check against null-pointer-def Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 019/137] drm/amdgpu: add error handle to avoid out-of-bounds Greg Kroah-Hartman
2024-06-13 11:33 ` Greg Kroah-Hartman [this message]
2024-06-13 11:33 ` [PATCH 6.6 021/137] wifi: rtw89: correct aSIFSTime for 6GHz band Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 022/137] ata: pata_legacy: make legacy_exit() work again Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 023/137] fsverity: use register_sysctl_init() to avoid kmemleak warning Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 024/137] proc: Move fdinfo PTRACE_MODE_READ check into the inode .permission operation Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 025/137] platform/chrome: cros_ec: Handle events during suspend after resume completion Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 026/137] thermal/drivers/qcom/lmh: Check for SCM availability at probe Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 027/137] soc: qcom: rpmh-rsc: Enhance check for VRM in-flight request Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 028/137] ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 029/137] arm64: tegra: Correct Tegra132 I2C alias Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 030/137] arm64: dts: qcom: qcs404: fix bluetooth device address Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 031/137] md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 032/137] wifi: rtw89: pci: correct TX resource checking for PCI DMA channel of firmware command Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 033/137] wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 034/137] wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 035/137] wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 036/137] wifi: rtlwifi: rtl8192de: Fix endianness issue in RX path Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 037/137] arm64: dts: qcom: sc8280xp: add missing PCIe minimum OPP Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 038/137] arm64: dts: hi3798cv200: fix the size of GICR Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 039/137] arm64: dts: ti: verdin-am62: Set memory size to 2gb Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 040/137] media: mc: Fix graph walk in media_pipeline_start Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 041/137] media: mc: mark the media devnode as registered from the, start Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 042/137] media: mxl5xx: Move xpt structures off stack Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 043/137] media: v4l2-core: hold videodev_lock until dev reg, finishes Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 044/137] media: v4l: async: Properly re-initialise notifier entry in unregister Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 045/137] media: v4l: async: Dont set notifiers V4L2 device if registering fails Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 046/137] media: v4l: async: Fix notifier list entry init Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 047/137] mmc: davinci: Dont strip remove function when driver is builtin Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 048/137] mmc: core: Add mmc_gpiod_set_cd_config() function Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 049/137] mmc: sdhci: Add support for "Tuning Error" interrupts Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 050/137] mmc: sdhci-acpi: Sort DMI quirks alphabetically Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 051/137] mmc: sdhci-acpi: Fix Lenovo Yoga Tablet 2 Pro 1380 sdcard slot not working Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 052/137] mmc: sdhci-acpi: Disable write protect detection on Toshiba WT10-A Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 053/137] mmc: sdhci-acpi: Add quirk to enable pull-up on the card-detect GPIO on Asus T100TA Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 054/137] drm/fbdev-generic: Do not set physical framebuffer address Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 055/137] fbdev: savage: Handle err return when savagefb_check_var failed Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 056/137] drm/amdgpu/atomfirmware: add intergrated info v2.3 table Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 057/137] 9p: add missing locking around taking dentry fid list Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 058/137] drm/amd: Fix shutdown (again) on some SMU v13.0.4/11 platforms Greg Kroah-Hartman
2024-06-13 11:33 ` [PATCH 6.6 059/137] Revert "drm/amdkfd: fix gfx_target_version for certain 11.0.3 devices" Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 060/137] KVM: SVM: WARN on vNMI + NMI window iff NMIs are outright masked Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 061/137] KVM: arm64: Fix AArch32 register narrowing on userspace write Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 062/137] KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 063/137] KVM: arm64: AArch32: Fix spurious trapping of conditional instructions Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 064/137] LoongArch: Add all CPUs enabled by fdt to NUMA node 0 Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 065/137] LoongArch: Override higher address bits in JUMP_VIRT_ADDR Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 066/137] clk: bcm: dvp: Assign ->num before accessing ->hws Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 067/137] clk: bcm: rpi: " Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 068/137] clk: qcom: clk-alpha-pll: fix rate setting for Stromer PLLs Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 069/137] crypto: ecdsa - Fix module auto-load on add-key Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 070/137] crypto: ecrdsa - Fix module auto-load on add_key Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 071/137] crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 072/137] kbuild: Remove support for Clangs ThinLTO caching Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 073/137] mm: fix race between __split_huge_pmd_locked() and GUP-fast Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 074/137] filemap: add helper mapping_max_folio_size() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 075/137] iomap: fault in smaller chunks for non-large folio mappings Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 076/137] i2c: acpi: Unbind mux adapters before delete Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 077/137] HID: i2c-hid: elan: fix reset suspend current leakage Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 078/137] scsi: core: Handle devices which return an unusually large VPD page count Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 079/137] net/ipv6: Fix route deleting failure when metric equals 0 Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 080/137] net/9p: fix uninit-value in p9_client_rpc() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 081/137] mm/ksm: fix ksm_pages_scanned accounting Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 082/137] mm/ksm: fix ksm_zero_pages accounting Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 083/137] kmsan: do not wipe out origin when doing partial unpoisoning Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 084/137] tpm_tis: Do *not* flush uninitialized work Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 085/137] cpufreq: amd-pstate: Fix the inconsistency in max frequency units Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 086/137] intel_th: pci: Add Meteor Lake-S CPU support Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 087/137] rtla/timerlat: Fix histogram report when a cpu count is 0 Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 088/137] sparc64: Fix number of online CPUs Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 089/137] mm/cma: drop incorrect alignment check in cma_init_reserved_mem Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 090/137] mm/hugetlb: pass correct order_per_bit to cma_declare_contiguous_nid Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 091/137] mm: /proc/pid/smaps_rollup: avoid skipping vma after getting mmap_lock again Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 092/137] mm/vmalloc: fix vmalloc which may return null if called with __GFP_NOFAIL Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 093/137] selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 094/137] selftests/mm: fix build warnings on ppc64 Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 095/137] watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 096/137] bonding: fix oops during rmmod Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 097/137] wifi: ath10k: fix QCOM_RPROC_COMMON dependency Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 098/137] kdb: Fix buffer overflow during tab-complete Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 099/137] kdb: Use format-strings rather than \0 injection in kdb_read() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 100/137] kdb: Fix console handling when editing and tab-completing commands Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 101/137] kdb: Merge identical case statements in kdb_read() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 102/137] kdb: Use format-specifiers rather than memset() for padding " Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 103/137] net: fix __dst_negative_advice() race Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 104/137] e1000e: move force SMBUS near the end of enable_ulp function Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 105/137] sparc: move struct termio to asm/termios.h Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 106/137] drm/amdkfd: handle duplicate BOs in reserve_bo_and_cond_vms Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 107/137] ext4: Fixes len calculation in mpage_journal_page_buffers Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 108/137] ext4: set type of ac_groups_linear_remaining to __u32 to avoid overflow Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 109/137] ext4: fix mb_cache_entrys e_refcnt leak in ext4_xattr_block_cache_find() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 110/137] riscv: dts: starfive: Remove PMIC interrupt info for Visionfive 2 board Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 111/137] ARM: dts: samsung: smdkv310: fix keypad no-autorepeat Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 112/137] ARM: dts: samsung: smdk4412: " Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 113/137] ARM: dts: samsung: exynos4412-origen: " Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 114/137] parisc: Define HAVE_ARCH_HUGETLB_UNMAPPED_AREA Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 115/137] parisc: Define sigset_t in parisc uapi header Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 116/137] s390/ap: Fix crash in AP internal function modify_bitmap() Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 117/137] s390/cpacf: Split and rework cpacf query functions Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 118/137] s390/cpacf: Make use of invalid opcode produce a link error Greg Kroah-Hartman
2024-06-13 11:34 ` [PATCH 6.6 119/137] i3c: master: svc: fix invalidate IBI type and miss call client IBI handler Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 120/137] genirq/irqdesc: Prevent use-after-free in irq_find_at_or_after() Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 121/137] ASoC: SOF: ipc4-topology: Fix input format query of process modules without base extension Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 122/137] ALSA: ump: Dont clear bank selection after sending a program change Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 123/137] ALSA: ump: Dont accept an invalid UMP protocol number Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 124/137] EDAC/amd64: Convert PCIBIOS_* return codes to errnos Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 125/137] EDAC/igen6: " Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 126/137] nfs: fix undefined behavior in nfs_block_bits() Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 127/137] NFS: Fix READ_PLUS when server doesnt support OP_READ_PLUS Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 128/137] eventfs: Fix a possible null pointer dereference in eventfs_find_events() Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 129/137] eventfs: Keep the directories from having the same inode number as files Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 130/137] tracefs: Clear EVENT_INODE flag in tracefs_drop_inode() Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 131/137] btrfs: fix crash on racing fsync and size-extending write into prealloc Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 132/137] btrfs: fix leak of qgroup extent records after transaction abort Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 133/137] ALSA: seq: Fix incorrect UMP type for system messages Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 134/137] powerpc/64/bpf: fix tail calls for PCREL addressing Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 135/137] powerpc/bpf: enforce full ordering for ATOMIC operations with BPF_FETCH Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 136/137] smb: client: fix deadlock in smb2_find_smb_tcon() Greg Kroah-Hartman
2024-06-13 11:35 ` [PATCH 6.6 137/137] selftests: net: more strict check in net_helper Greg Kroah-Hartman
2024-06-13 14:45 ` [PATCH 6.6 000/137] 6.6.34-rc1 review Naresh Kamboju
2024-06-14 9:15 ` Naresh Kamboju
2024-06-14 9:36 ` Puranjay Mohan
2024-06-15 11:10 ` Greg Kroah-Hartman
2024-06-13 14:47 ` Takeshi Ogasawara
2024-06-13 16:50 ` SeongJae Park
2024-06-14 8:39 ` Naresh Kamboju
2024-06-14 11:48 ` Ron Economos
2024-06-14 14:14 ` Mark Brown
2024-06-14 17:03 ` Jon Hunter
2024-06-14 19:02 ` Harshit Mogalapalli
2024-06-15 0:56 ` Peter Schneider
2024-06-15 2:09 ` Shuah Khan
2024-06-16 13:38 ` Florian Fainelli
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=20240613113224.074262708@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=axboe@kernel.dk \
--cc=colyli@suse.de \
--cc=matthew@mm12.xyz \
--cc=patches@lists.linux.dev \
--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.