From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Qu Wenruo <wqu@suse.com>,
Boris Burkov <boris@bur.io>, David Sterba <dsterba@suse.com>,
Rahul Sharma <black.hawk@163.com>
Subject: [PATCH 6.12 160/169] btrfs: fix racy bitfield write in btrfs_clear_space_info_full()
Date: Wed, 28 Jan 2026 16:24:03 +0100 [thread overview]
Message-ID: <20260128145339.775348257@linuxfoundation.org> (raw)
In-Reply-To: <20260128145334.006287341@linuxfoundation.org>
6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Boris Burkov <boris@bur.io>
[ Upstream commit 38e818718c5e04961eea0fa8feff3f100ce40408 ]
>From the memory-barriers.txt document regarding memory barrier ordering
guarantees:
(*) These guarantees do not apply to bitfields, because compilers often
generate code to modify these using non-atomic read-modify-write
sequences. Do not attempt to use bitfields to synchronize parallel
algorithms.
(*) Even in cases where bitfields are protected by locks, all fields
in a given bitfield must be protected by one lock. If two fields
in a given bitfield are protected by different locks, the compiler's
non-atomic read-modify-write sequences can cause an update to one
field to corrupt the value of an adjacent field.
btrfs_space_info has a bitfield sharing an underlying word consisting of
the fields full, chunk_alloc, and flush:
struct btrfs_space_info {
struct btrfs_fs_info * fs_info; /* 0 8 */
struct btrfs_space_info * parent; /* 8 8 */
...
int clamp; /* 172 4 */
unsigned int full:1; /* 176: 0 4 */
unsigned int chunk_alloc:1; /* 176: 1 4 */
unsigned int flush:1; /* 176: 2 4 */
...
Therefore, to be safe from parallel read-modify-writes losing a write to
one of the bitfield members protected by a lock, all writes to all the
bitfields must use the lock. They almost universally do, except for
btrfs_clear_space_info_full() which iterates over the space_infos and
writes out found->full = 0 without a lock.
Imagine that we have one thread completing a transaction in which we
finished deleting a block_group and are thus calling
btrfs_clear_space_info_full() while simultaneously the data reclaim
ticket infrastructure is running do_async_reclaim_data_space():
T1 T2
btrfs_commit_transaction
btrfs_clear_space_info_full
data_sinfo->full = 0
READ: full:0, chunk_alloc:0, flush:1
do_async_reclaim_data_space(data_sinfo)
spin_lock(&space_info->lock);
if(list_empty(tickets))
space_info->flush = 0;
READ: full: 0, chunk_alloc:0, flush:1
MOD/WRITE: full: 0, chunk_alloc:0, flush:0
spin_unlock(&space_info->lock);
return;
MOD/WRITE: full:0, chunk_alloc:0, flush:1
and now data_sinfo->flush is 1 but the reclaim worker has exited. This
breaks the invariant that flush is 0 iff there is no work queued or
running. Once this invariant is violated, future allocations that go
into __reserve_bytes() will add tickets to space_info->tickets but will
see space_info->flush is set to 1 and not queue the work. After this,
they will block forever on the resulting ticket, as it is now impossible
to kick the worker again.
I also confirmed by looking at the assembly of the affected kernel that
it is doing RMW operations. For example, to set the flush (3rd) bit to 0,
the assembly is:
andb $0xfb,0x60(%rbx)
and similarly for setting the full (1st) bit to 0:
andb $0xfe,-0x20(%rax)
So I think this is really a bug on practical systems. I have observed
a number of systems in this exact state, but am currently unable to
reproduce it.
Rather than leaving this footgun lying around for the future, take
advantage of the fact that there is room in the struct anyway, and that
it is already quite large and simply change the three bitfield members to
bools. This avoids writes to space_info->full having any effect on
writes to space_info->flush, regardless of locking.
Fixes: 957780eb2788 ("Btrfs: introduce ticketed enospc infrastructure")
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Boris Burkov <boris@bur.io>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
[ The context change is due to the commit cc0517fe779f
("btrfs: tweak extent/chunk allocation for space_info sub-space")
in v6.16 which is irrelevant to the logic of this patch. ]
Signed-off-by: Rahul Sharma <black.hawk@163.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/btrfs/block-group.c | 6 +++---
fs/btrfs/space-info.c | 22 +++++++++++-----------
fs/btrfs/space-info.h | 6 +++---
3 files changed, 17 insertions(+), 17 deletions(-)
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -4195,7 +4195,7 @@ int btrfs_chunk_alloc(struct btrfs_trans
mutex_unlock(&fs_info->chunk_mutex);
} else {
/* Proceed with allocation */
- space_info->chunk_alloc = 1;
+ space_info->chunk_alloc = true;
wait_for_alloc = false;
spin_unlock(&space_info->lock);
}
@@ -4244,7 +4244,7 @@ int btrfs_chunk_alloc(struct btrfs_trans
spin_lock(&space_info->lock);
if (ret < 0) {
if (ret == -ENOSPC)
- space_info->full = 1;
+ space_info->full = true;
else
goto out;
} else {
@@ -4254,7 +4254,7 @@ int btrfs_chunk_alloc(struct btrfs_trans
space_info->force_alloc = CHUNK_ALLOC_NO_FORCE;
out:
- space_info->chunk_alloc = 0;
+ space_info->chunk_alloc = false;
spin_unlock(&space_info->lock);
mutex_unlock(&fs_info->chunk_mutex);
--- a/fs/btrfs/space-info.c
+++ b/fs/btrfs/space-info.c
@@ -183,7 +183,7 @@ void btrfs_clear_space_info_full(struct
struct btrfs_space_info *found;
list_for_each_entry(found, head, list)
- found->full = 0;
+ found->full = false;
}
/*
@@ -364,7 +364,7 @@ void btrfs_add_bg_to_space_info(struct b
found->bytes_readonly += block_group->bytes_super;
btrfs_space_info_update_bytes_zone_unusable(info, found, block_group->zone_unusable);
if (block_group->length > 0)
- found->full = 0;
+ found->full = false;
btrfs_try_granting_tickets(info, found);
spin_unlock(&found->lock);
@@ -1140,7 +1140,7 @@ static void btrfs_async_reclaim_metadata
spin_lock(&space_info->lock);
to_reclaim = btrfs_calc_reclaim_metadata_size(fs_info, space_info);
if (!to_reclaim) {
- space_info->flush = 0;
+ space_info->flush = false;
spin_unlock(&space_info->lock);
return;
}
@@ -1152,7 +1152,7 @@ static void btrfs_async_reclaim_metadata
flush_space(fs_info, space_info, to_reclaim, flush_state, false);
spin_lock(&space_info->lock);
if (list_empty(&space_info->tickets)) {
- space_info->flush = 0;
+ space_info->flush = false;
spin_unlock(&space_info->lock);
return;
}
@@ -1195,7 +1195,7 @@ static void btrfs_async_reclaim_metadata
flush_state = FLUSH_DELAYED_ITEMS_NR;
commit_cycles--;
} else {
- space_info->flush = 0;
+ space_info->flush = false;
}
} else {
flush_state = FLUSH_DELAYED_ITEMS_NR;
@@ -1357,7 +1357,7 @@ static void btrfs_async_reclaim_data_spa
spin_lock(&space_info->lock);
if (list_empty(&space_info->tickets)) {
- space_info->flush = 0;
+ space_info->flush = false;
spin_unlock(&space_info->lock);
return;
}
@@ -1368,7 +1368,7 @@ static void btrfs_async_reclaim_data_spa
flush_space(fs_info, space_info, U64_MAX, ALLOC_CHUNK_FORCE, false);
spin_lock(&space_info->lock);
if (list_empty(&space_info->tickets)) {
- space_info->flush = 0;
+ space_info->flush = false;
spin_unlock(&space_info->lock);
return;
}
@@ -1385,7 +1385,7 @@ static void btrfs_async_reclaim_data_spa
data_flush_states[flush_state], false);
spin_lock(&space_info->lock);
if (list_empty(&space_info->tickets)) {
- space_info->flush = 0;
+ space_info->flush = false;
spin_unlock(&space_info->lock);
return;
}
@@ -1402,7 +1402,7 @@ static void btrfs_async_reclaim_data_spa
if (maybe_fail_all_tickets(fs_info, space_info))
flush_state = 0;
else
- space_info->flush = 0;
+ space_info->flush = false;
} else {
flush_state = 0;
}
@@ -1418,7 +1418,7 @@ static void btrfs_async_reclaim_data_spa
aborted_fs:
maybe_fail_all_tickets(fs_info, space_info);
- space_info->flush = 0;
+ space_info->flush = false;
spin_unlock(&space_info->lock);
}
@@ -1787,7 +1787,7 @@ static int __reserve_bytes(struct btrfs_
*/
maybe_clamp_preempt(fs_info, space_info);
- space_info->flush = 1;
+ space_info->flush = true;
trace_btrfs_trigger_flush(fs_info,
space_info->flags,
orig_bytes, flush,
--- a/fs/btrfs/space-info.h
+++ b/fs/btrfs/space-info.h
@@ -136,11 +136,11 @@ struct btrfs_space_info {
flushing. The value is >> clamp, so turns
out to be a 2^clamp divisor. */
- unsigned int full:1; /* indicates that we cannot allocate any more
+ bool full; /* indicates that we cannot allocate any more
chunks for this space */
- unsigned int chunk_alloc:1; /* set if we are allocating a chunk */
+ bool chunk_alloc; /* set if we are allocating a chunk */
- unsigned int flush:1; /* set if we are trying to make space */
+ bool flush; /* set if we are trying to make space */
unsigned int force_alloc; /* set if we need to force a chunk
alloc for this space */
next prev parent reply other threads:[~2026-01-28 15:49 UTC|newest]
Thread overview: 190+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-28 15:21 [PATCH 6.12 000/169] 6.12.68-rc1 review Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 001/169] posix-clock: Store file pointer in struct posix_clock_context Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 002/169] ptp: Add PHC file mode checks. Allow RO adjtime() without FMODE_WRITE Greg Kroah-Hartman
2026-02-11 10:47 ` Jan Lübbe
2026-01-28 15:21 ` [PATCH 6.12 003/169] selftest/ptp: update ptp selftest to exercise the gettimex options Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 004/169] testptp: Add option to open PHC in readonly mode Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 005/169] dt-bindings: power: qcom,rpmpd: document the SM8750 RPMh Power Domains Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 006/169] dt-bindings: power: qcom,rpmpd: add Turbo L5 corner Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 007/169] dt-bindings: power: qcom-rpmpd: split RPMh domains definitions Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 008/169] dt-bindings: power: qcom,rpmpd: Add SC8280XP_MXC_AO Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 009/169] pmdomain: qcom: rpmhpd: Add MXC to SC8280XP Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 010/169] arm64: dts: qcom: sc8280xp: Add missing VDD_MXC links Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 011/169] Drivers: hv: Always do Hyper-V panic notification in hv_kmsg_dump() Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 012/169] btrfs: fix missing fields in superblock backup with BLOCK_GROUP_TREE Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 013/169] ata: ahci: Do not read the per port area for unimplemented ports Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 014/169] ata: libata-sata: Improve link_power_management_supported sysfs attribute Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 015/169] ata: libata: Add cpr_log to ata_dev_print_features() early return Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 016/169] ata: libata-core: Introduce ata_dev_config_lpm() Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 017/169] ata: libata: Call ata_dev_config_lpm() for ATAPI devices Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 018/169] ata: libata: Print features also " Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 019/169] ice: initialize ring_stats->syncp Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 020/169] ice: Avoid detrimental cleanup for bond during interface stop Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 021/169] ice: Fix incorrect timeout ice_release_res() Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 022/169] igc: Restore default Qbv schedule when changing channels Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 023/169] igc: fix race condition in TX timestamp read for register 0 Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 024/169] vsock/virtio: Coalesce only linear skb Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 025/169] net: usb: dm9601: remove broken SR9700 support Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 026/169] bonding: limit BOND_MODE_8023AD to Ethernet devices Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 027/169] l2tp: Fix memleak in l2tp_udp_encap_recv() Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 028/169] selftests: net: fib-onlink-tests: Convert to use namespaces by default Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 029/169] can: gs_usb: gs_usb_receive_bulk_callback(): unanchor URL on usb_submit_urb() error Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 030/169] sctp: move SCTP_CMD_ASSOC_SHKEY right after SCTP_CMD_PEER_INIT Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 031/169] amd-xgbe: avoid misleading per-packet error log Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 032/169] gue: Fix skb memleak with inner IP protocol 0 Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 033/169] tools: ynl: Specify --no-line-number in ynl-regen.sh Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 034/169] fou: Dont allow 0 for FOU_ATTR_IPPROTO Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 035/169] veth: fix data race in veth_get_ethtool_stats Greg Kroah-Hartman
2026-01-28 15:21 ` [PATCH 6.12 036/169] l2tp: avoid one data-race in l2tp_tunnel_del_work() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 037/169] ipvlan: Make the addrs_lock be per port Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 038/169] octeontx2: cn10k: fix RX flowid TCAM mask handling Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 039/169] net/sched: Enforce that teql can only be used as root qdisc Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 040/169] net/sched: qfq: Use cl_is_active to determine whether class is active in qfq_rm_from_ag Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 041/169] crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 042/169] wifi: mac80211: dont perform DA check on S1G beacon Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 043/169] serial: 8250_pci: Fix broken RS485 for F81504/508/512 Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 044/169] comedi: dmm32at: serialize use of paged registers Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 045/169] w1: therm: Fix off-by-one buffer overflow in alarms_store Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 046/169] w1: fix redundant counter decrement in w1_attach_slave_device() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 047/169] Revert "nfc/nci: Add the inconsistency check between the input data length and count" Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 048/169] Input: i8042 - add quirks for MECHREVO Wujie 15X Pro Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 049/169] Input: i8042 - add quirk for ASUS Zenbook UX425QA_UM425QA Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 050/169] scsi: storvsc: Process unsupported MODE_SENSE_10 Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 051/169] scsi: xen: scsiback: Fix potential memory leak in scsiback_remove() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 052/169] arm64: dts: rockchip: remove dangerous max-link-speed from helios64 Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 053/169] arm64: dts: rockchip: Fix voltage threshold for volume keys for Pinephone Pro Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 054/169] x86/kfence: avoid writing L1TF-vulnerable PTEs Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 055/169] comedi: Fix getting range information for subdevices 16 to 255 Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 056/169] platform/x86: hp-bioscfg: Fix kobject warnings for empty attribute names Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 057/169] platform/x86: hp-bioscfg: Fix kernel panic in GET_INSTANCE_ID macro Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 058/169] mm/rmap: fix two comments related to huge_pmd_unshare() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 059/169] io_uring/io-wq: check IO_WQ_BIT_EXIT inside work run loop Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 060/169] iio: imu: st_lsm6dsx: fix iio_chan_spec for sensors without event detection Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 061/169] iio: adc: ad7280a: handle spi_setup() errors in probe() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 062/169] interconnect: debugfs: initialize src_node and dst_node to empty strings Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 063/169] spi: spi-sprd-adi: Fix double free in probe error path Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 064/169] regmap: Fix race condition in hwspinlock irqsave routine Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 065/169] kconfig: fix static linking of nconf Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 066/169] riscv: clocksource: Fix stimecmp update hazard on RV32 Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 067/169] platform/x86/amd: Fix memory leak in wbrf_record() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 068/169] scsi: core: Wake up the error handler when final completions race against each other Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 069/169] scsi: qla2xxx: Sanitize payload size to prevent member overflow Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 070/169] ALSA: usb: Increase volume range that triggers a warning Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 071/169] drm/imagination: Wait for FW trace update command completion Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 072/169] netdevsim: fix a race issue related to the operation on bpf_bound_progs list Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 073/169] ice: Fix persistent failure in ice_get_rxfh Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 074/169] net: hns3: fix data race in hns3_fetch_stats Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 075/169] be2net: fix data race in be_get_new_eqd Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 076/169] net: hns3: fix wrong GENMASK() for HCLGE_FD_AD_COUNTER_NUM_M Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 077/169] net: hns3: fix the HCLGE_FD_AD_NXT_KEY error setting issue Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 078/169] mISDN: annotate data-race around dev->work Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 079/169] ipv6: annotate data-race in ndisc_router_discovery() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 080/169] usbnet: limit max_mtu based on devices hard_mtu Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 081/169] clocksource: Reduce watchdog readout delay limit to prevent false positives Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 082/169] sched/fair: Fix pelt clock sync when entering idle Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 083/169] drm/amd/pm: Dont clear SI SMC table when setting power limit Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 084/169] drm/amd/pm: Workaround SI powertune issue on Radeon 430 (v2) Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 085/169] drm/nouveau: add missing DCB connector types Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 086/169] drm/nouveau: implement missing DCB connector types; gracefully handle unknown connectors Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 087/169] be2net: Fix NULL pointer dereference in be_cmd_get_mac_from_list Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 088/169] selftests: net: amt: wait longer for connection before sending packets Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 089/169] bonding: provide a net pointer to __skb_flow_dissect() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 090/169] net: dsa: fix off-by-one in maximum bridge ID determination Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 091/169] octeontx2-af: Fix error handling Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 092/169] net: openvswitch: fix data race in ovs_vport_get_upcall_stats Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 093/169] vsock/virtio: fix potential underflow in virtio_transport_get_credit() Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 094/169] vsock/test: fix seqpacket message bounds test Greg Kroah-Hartman
2026-02-11 7:50 ` Johan Korsnes
2026-02-11 8:30 ` Stefano Garzarella
2026-02-11 8:58 ` Johan Korsnes
2026-02-11 11:37 ` Greg Kroah-Hartman
2026-02-11 12:15 ` Stefano Garzarella
2026-01-28 15:22 ` [PATCH 6.12 095/169] vsock/virtio: cap TX credit to local buffer size Greg Kroah-Hartman
2026-01-28 15:22 ` [PATCH 6.12 096/169] net/sched: act_ife: avoid possible NULL deref Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 097/169] dpll: Prevent duplicate registrations Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 098/169] x86: make page fault handling disable interrupts properly Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 099/169] tpm: Compare HMAC values in constant time Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 100/169] keys/trusted_keys: fix handle passed to tpm_buf_append_name during unseal Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 101/169] leds: led-class: Only Add LED to leds_list when it is fully ready Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 102/169] of: fix reference count leak in of_alias_scan() Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 103/169] of: platform: Use default match table for /firmware Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 104/169] iio: accel: adxl380: fix handling of unavailable "INT1" interrupt Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 105/169] iio: accel: iis328dq: fix gain values Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 106/169] iio: adc: ad9467: fix ad9434 vref mask Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 107/169] iio: adc: at91-sama5d2_adc: Fix potential use-after-free in sama5d2_adc driver Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 108/169] iio: adc: pac1934: Fix clamped value in pac1934_reg_snapshot Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 109/169] iio: chemical: scd4x: fix reported channel endianness Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 110/169] iio: dac: ad5686: add AD5695R to ad5686_chip_info_tbl Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 111/169] ALSA: ctxfi: Fix potential OOB access in audio mixer handling Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 112/169] ALSA: scarlett2: Fix buffer overflow in config retrieval Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 113/169] ALSA: usb-audio: Fix use-after-free in snd_usb_mixer_free() Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 114/169] mmc: rtsx_pci_sdmmc: implement sdmmc_card_busy function Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 115/169] mmc: sdhci-of-dwcmshc: Prevent illegal clock reduction in HS200/HS400 mode Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 116/169] drm/nouveau/disp: Set drm_mode_config_funcs.atomic_(check|commit) Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 117/169] wifi: ath10k: fix dma_free_coherent() pointer Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 118/169] wifi: ath12k: " Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 119/169] wifi: mwifiex: Fix a loop in mwifiex_update_ampdu_rxwinsize() Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 120/169] wifi: rsi: Fix memory corruption due to not set vif driver data size Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 121/169] arm64/fpsimd: signal: Allocate SSVE storage when restoring ZA Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 122/169] arm64: Set __nocfi on swsusp_arch_resume() Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 123/169] octeontx2: Fix otx2_dma_map_page() error return code Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 124/169] slimbus: core: fix runtime PM imbalance on report present Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 125/169] slimbus: core: fix device reference leak " Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 126/169] tracing: Fix crash on synthetic stacktrace field usage Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 127/169] intel_th: fix device leak on output open() Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 128/169] mei: trace: treat reg parameter as string Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 129/169] s390/ap: Fix wrong APQN fill calculation Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 130/169] uacce: fix cdev handling in the cleanup path Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 131/169] uacce: fix isolate sysfs check condition Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 132/169] uacce: implement mremap in uacce_vm_ops to return -EPERM Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 133/169] uacce: ensure safe queue release with state management Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 134/169] netrom: fix double-free in nr_route_frame() Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 135/169] platform/x86: hp-bioscfg: Fix automatic module loading Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 136/169] pmdomain: imx8m-blk-ctrl: Remove separate rst and clk mask for 8mq vpu Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 137/169] perf/x86/intel: Do not enable BTS for guests Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 138/169] irqchip/gic-v3-its: Avoid truncating memory addresses Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 139/169] net: sfp: add potron quirk to the H-COM SPP425H-GAB4 SFP+ Stick Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 140/169] can: ems_usb: ems_usb_read_bulk_callback(): fix URB memory leak Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 141/169] can: kvaser_usb: kvaser_usb_read_bulk_callback(): " Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 142/169] can: mcba_usb: mcba_usb_read_bulk_callback(): " Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 143/169] can: usb_8dev: usb_8dev_read_bulk_callback(): " Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 144/169] drm/amdgpu: remove frame cntl for gfx v12 Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 145/169] gpio: cdev: Correct return code on memory allocation failure Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 146/169] migrate: correct lock ordering for hugetlb file folios Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 147/169] dmaengine: ti: k3-udma: Enable second resource range for BCDMA and PKTDMA Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 148/169] can: esd_usb: esd_usb_read_bulk_callback(): fix URB memory leak Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 149/169] selftests/bpf: Check for timeout in perf_link test Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 150/169] bpf: Do not let BPF test infra emit invalid GSO types to stack Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 151/169] arm64: dts: rockchip: remove redundant max-link-speed from nanopi-r4s Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 152/169] iio: core: add missing mutex_destroy in iio_dev_release() Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 153/169] iio: core: Replace lockdep_set_class() + mutex_init() by combined call Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 154/169] iio: core: add separate lockdep class for info_exist_lock Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 155/169] iio: adc: exynos_adc: fix OF populate on driver rebind Greg Kroah-Hartman
2026-01-28 15:23 ` [PATCH 6.12 156/169] exfat: fix refcount leak in exfat_find Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 157/169] sched_ext: Fix possible deadlock in the deferred_irq_workfn() Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 158/169] fs/ntfs3: Initialize allocated memory before use Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 159/169] accel/ivpu: Fix race condition when unbinding BOs Greg Kroah-Hartman
2026-01-28 15:24 ` Greg Kroah-Hartman [this message]
2026-01-28 15:24 ` [PATCH 6.12 161/169] wifi: ath11k: fix RCU stall while reaping monitor destination ring Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 162/169] vsock/virtio: Move length check to callers of virtio_vsock_skb_rx_put() Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 163/169] vsock/virtio: Rename virtio_vsock_alloc_skb() Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 164/169] vsock/virtio: Move SKB allocation lower-bound check to callers Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 165/169] vsock/virtio: Rename virtio_vsock_skb_rx_put() Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 166/169] vhost/vsock: Allocate nonlinear SKBs for handling large receive buffers Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 167/169] vsock/virtio: Allocate nonlinear SKBs for handling large transmit buffers Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 168/169] net: Introduce skb_copy_datagram_from_iter_full() Greg Kroah-Hartman
2026-01-28 15:24 ` [PATCH 6.12 169/169] vsock/virtio: Fix message iterator handling on transmit path Greg Kroah-Hartman
2026-01-28 19:38 ` [PATCH 6.12 000/169] 6.12.68-rc1 review Brett A C Sheffield
2026-01-28 20:08 ` Florian Fainelli
2026-01-28 20:13 ` Pavel Machek
2026-01-29 2:09 ` Shung-Hsi Yu
2026-01-29 6:51 ` Peter Schneider
2026-01-29 6:55 ` Slade Watkins
2026-01-29 7:31 ` Francesco Dolcini
2026-01-29 9:49 ` Jon Hunter
2026-01-29 10:18 ` Ron Economos
2026-01-29 13:25 ` Mark Brown
2026-01-29 14:26 ` Brett Mastbergen
2026-01-29 19:47 ` Hardik Garg
2026-01-29 20:38 ` Miguel Ojeda
2026-01-30 14:35 ` Harshit Mogalapalli
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=20260128145339.775348257@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=black.hawk@163.com \
--cc=boris@bur.io \
--cc=dsterba@suse.com \
--cc=patches@lists.linux.dev \
--cc=stable@vger.kernel.org \
--cc=wqu@suse.com \
/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