From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Masami Hiramatsu <mhiramat@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
"Steven Rostedt (Google)" <rostedt@goodmis.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 134/156] ring-buffer: Fix slowpath of interrupted event
Date: Sat, 30 Dec 2023 11:59:48 +0000 [thread overview]
Message-ID: <20231230115816.734951989@linuxfoundation.org> (raw)
In-Reply-To: <20231230115812.333117904@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Steven Rostedt (Google) <rostedt@goodmis.org>
[ Upstream commit b803d7c664d55705831729d2f2e29c874bcd62ea ]
To synchronize the timestamps with the ring buffer reservation, there are
two timestamps that are saved in the buffer meta data.
1. before_stamp
2. write_stamp
When the two are equal, the write_stamp is considered valid, as in, it may
be used to calculate the delta of the next event as the write_stamp is the
timestamp of the previous reserved event on the buffer.
This is done by the following:
/*A*/ w = current position on the ring buffer
before = before_stamp
after = write_stamp
ts = read current timestamp
if (before != after) {
write_stamp is not valid, force adding an absolute
timestamp.
}
/*B*/ before_stamp = ts
/*C*/ write = local_add_return(event length, position on ring buffer)
if (w == write - event length) {
/* Nothing interrupted between A and C */
/*E*/ write_stamp = ts;
delta = ts - after
/*
* If nothing interrupted again,
* before_stamp == write_stamp and write_stamp
* can be used to calculate the delta for
* events that come in after this one.
*/
} else {
/*
* The slow path!
* Was interrupted between A and C.
*/
This is the place that there's a bug. We currently have:
after = write_stamp
ts = read current timestamp
/*F*/ if (write == current position on the ring buffer &&
after < ts && cmpxchg(write_stamp, after, ts)) {
delta = ts - after;
} else {
delta = 0;
}
The assumption is that if the current position on the ring buffer hasn't
moved between C and F, then it also was not interrupted, and that the last
event written has a timestamp that matches the write_stamp. That is the
write_stamp is valid.
But this may not be the case:
If a task context event was interrupted by softirq between B and C.
And the softirq wrote an event that got interrupted by a hard irq between
C and E.
and the hard irq wrote an event (does not need to be interrupted)
We have:
/*B*/ before_stamp = ts of normal context
---> interrupted by softirq
/*B*/ before_stamp = ts of softirq context
---> interrupted by hardirq
/*B*/ before_stamp = ts of hard irq context
/*E*/ write_stamp = ts of hard irq context
/* matches and write_stamp valid */
<----
/*E*/ write_stamp = ts of softirq context
/* No longer matches before_stamp, write_stamp is not valid! */
<---
w != write - length, go to slow path
// Right now the order of events in the ring buffer is:
//
// |-- softirq event --|-- hard irq event --|-- normal context event --|
//
after = write_stamp (this is the ts of softirq)
ts = read current timestamp
if (write == current position on the ring buffer [true] &&
after < ts [true] && cmpxchg(write_stamp, after, ts) [true]) {
delta = ts - after [Wrong!]
The delta is to be between the hard irq event and the normal context
event, but the above logic made the delta between the softirq event and
the normal context event, where the hard irq event is between the two. This
will shift all the remaining event timestamps on the sub-buffer
incorrectly.
The write_stamp is only valid if it matches the before_stamp. The cmpxchg
does nothing to help this.
Instead, the following logic can be done to fix this:
before = before_stamp
ts = read current timestamp
before_stamp = ts
after = write_stamp
if (write == current position on the ring buffer &&
after == before && after < ts) {
delta = ts - after
} else {
delta = 0;
}
The above will only use the write_stamp if it still matches before_stamp
and was tested to not have changed since C.
As a bonus, with this logic we do not need any 64-bit cmpxchg() at all!
This means the 32-bit rb_time_t workaround can finally be removed. But
that's for a later time.
Link: https://lore.kernel.org/linux-trace-kernel/20231218175229.58ec3daf@gandalf.local.home/
Link: https://lore.kernel.org/linux-trace-kernel/20231218230712.3a76b081@gandalf.local.home
Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Fixes: dd93942570789 ("ring-buffer: Do not try to put back write_stamp")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
kernel/trace/ring_buffer.c | 79 ++++++++++++--------------------------
1 file changed, 24 insertions(+), 55 deletions(-)
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 4c97160ab9c15..783a500e89c58 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -700,48 +700,6 @@ rb_time_read_cmpxchg(local_t *l, unsigned long expect, unsigned long set)
return local_try_cmpxchg(l, &expect, set);
}
-static bool rb_time_cmpxchg(rb_time_t *t, u64 expect, u64 set)
-{
- unsigned long cnt, top, bottom, msb;
- unsigned long cnt2, top2, bottom2, msb2;
- u64 val;
-
- /* Any interruptions in this function should cause a failure */
- cnt = local_read(&t->cnt);
-
- /* The cmpxchg always fails if it interrupted an update */
- if (!__rb_time_read(t, &val, &cnt2))
- return false;
-
- if (val != expect)
- return false;
-
- if ((cnt & 3) != cnt2)
- return false;
-
- cnt2 = cnt + 1;
-
- rb_time_split(val, &top, &bottom, &msb);
- msb = rb_time_val_cnt(msb, cnt);
- top = rb_time_val_cnt(top, cnt);
- bottom = rb_time_val_cnt(bottom, cnt);
-
- rb_time_split(set, &top2, &bottom2, &msb2);
- msb2 = rb_time_val_cnt(msb2, cnt);
- top2 = rb_time_val_cnt(top2, cnt2);
- bottom2 = rb_time_val_cnt(bottom2, cnt2);
-
- if (!rb_time_read_cmpxchg(&t->cnt, cnt, cnt2))
- return false;
- if (!rb_time_read_cmpxchg(&t->msb, msb, msb2))
- return false;
- if (!rb_time_read_cmpxchg(&t->top, top, top2))
- return false;
- if (!rb_time_read_cmpxchg(&t->bottom, bottom, bottom2))
- return false;
- return true;
-}
-
#else /* 64 bits */
/* local64_t always succeeds */
@@ -755,11 +713,6 @@ static void rb_time_set(rb_time_t *t, u64 val)
{
local64_set(&t->time, val);
}
-
-static bool rb_time_cmpxchg(rb_time_t *t, u64 expect, u64 set)
-{
- return local64_try_cmpxchg(&t->time, &expect, set);
-}
#endif
/*
@@ -3610,20 +3563,36 @@ __rb_reserve_next(struct ring_buffer_per_cpu *cpu_buffer,
} else {
u64 ts;
/* SLOW PATH - Interrupted between A and C */
- a_ok = rb_time_read(&cpu_buffer->write_stamp, &info->after);
- /* Was interrupted before here, write_stamp must be valid */
+
+ /* Save the old before_stamp */
+ a_ok = rb_time_read(&cpu_buffer->before_stamp, &info->before);
RB_WARN_ON(cpu_buffer, !a_ok);
+
+ /*
+ * Read a new timestamp and update the before_stamp to make
+ * the next event after this one force using an absolute
+ * timestamp. This is in case an interrupt were to come in
+ * between E and F.
+ */
ts = rb_time_stamp(cpu_buffer->buffer);
+ rb_time_set(&cpu_buffer->before_stamp, ts);
+
+ barrier();
+ /*E*/ a_ok = rb_time_read(&cpu_buffer->write_stamp, &info->after);
+ /* Was interrupted before here, write_stamp must be valid */
+ RB_WARN_ON(cpu_buffer, !a_ok);
barrier();
- /*E*/ if (write == (local_read(&tail_page->write) & RB_WRITE_MASK) &&
- info->after < ts &&
- rb_time_cmpxchg(&cpu_buffer->write_stamp,
- info->after, ts)) {
- /* Nothing came after this event between C and E */
+ /*F*/ if (write == (local_read(&tail_page->write) & RB_WRITE_MASK) &&
+ info->after == info->before && info->after < ts) {
+ /*
+ * Nothing came after this event between C and F, it is
+ * safe to use info->after for the delta as it
+ * matched info->before and is still valid.
+ */
info->delta = ts - info->after;
} else {
/*
- * Interrupted between C and E:
+ * Interrupted between C and F:
* Lost the previous events time stamp. Just set the
* delta to zero, and this will be the same time as
* the event this event interrupted. And the events that
--
2.43.0
next prev parent reply other threads:[~2023-12-30 12:07 UTC|newest]
Thread overview: 176+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-30 11:57 [PATCH 6.6 000/156] 6.6.9-rc1 review Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 001/156] bpf: Fix prog_array_map_poke_run map poke update Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 002/156] mm/damon/core: use number of passed access sampling as a timer Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 003/156] mm/damon/core: make damon_start() waits until kdamond_fn() starts Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 004/156] btrfs: qgroup: iterate qgroups without memory allocation for qgroup_reserve() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 005/156] btrfs: qgroup: use qgroup_iterator in qgroup_convert_meta() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 006/156] btrfs: free qgroup pertrans reserve on transaction abort Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 007/156] drm/amd/display: fix hw rotated modes when PSR-SU is enabled Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 008/156] drm/i915: Fix FEC state dump Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 009/156] drm/i915: Introduce crtc_state->enhanced_framing Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 010/156] drm/i915/edp: dont write to DP_LINK_BW_SET when using rate select Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 011/156] drm: Update file owner during use Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 012/156] drm: Fix FD ownership check in drm_master_check_perm() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 013/156] spi: spi-imx: correctly configure burst length when using dma Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 014/156] arm64: dts: allwinner: h616: update emac for Orange Pi Zero 3 Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 015/156] ARM: dts: dra7: Fix DRA7 L3 NoC node register size Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 016/156] ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 017/156] reset: Fix crash when freeing non-existent optional resets Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 018/156] s390/vx: fix save/restore of fpu kernel context Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 019/156] platform/x86/intel/pmc: Fix hang in pmc_core_send_ltr_ignore() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 020/156] SUNRPC: Revert 5f7fc5d69f6e92ec0b38774c387f5cf7812c5806 Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 021/156] wifi: ieee80211: dont require protected vendor action frames Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 022/156] wifi: iwlwifi: pcie: add another missing bh-disable for rxq->lock Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 023/156] wifi: mac80211: check if the existing link config remains unchanged Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 024/156] wifi: mac80211: dont re-add debugfs during reconfig Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 025/156] wifi: mac80211: check defragmentation succeeded Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 026/156] wifi: mac80211: mesh: check element parsing succeeded Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 027/156] wifi: mac80211: mesh_plink: fix matches_local logic Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 028/156] ice: fix theoretical out-of-bounds access in ethtool link modes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 029/156] bpf: syzkaller found null ptr deref in unix_bpf proto add Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 030/156] Revert "net/mlx5e: fix double free of encap_header in update funcs" Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 031/156] Revert "net/mlx5e: fix double free of encap_header" Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 032/156] net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 033/156] net/mlx5e: Fix a race in command alloc flow Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 034/156] net/mlx5e: fix a potential double-free in fs_udp_create_groups Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 035/156] net/mlx5e: Fix overrun reported by coverity Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 036/156] net/mlx5e: Decrease num_block_tc when unblock tc offload Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 037/156] net/mlx5e: XDP, Drop fragmented packets larger than MTU size Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 038/156] net/mlx5: Fix fw tracer first block check Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 039/156] net/mlx5: Refactor mlx5_flow_destination->rep pointer to vport num Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 040/156] net/mlx5e: Fix error code in mlx5e_tc_action_miss_mapping_get() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 041/156] net/mlx5e: Fix error codes in alloc_branch_attr() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 042/156] net/mlx5e: Correct snprintf truncation handling for fw_version buffer Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 043/156] net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 044/156] net: mscc: ocelot: fix eMAC TX RMON stats for bucket 256-511 and above Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 045/156] net: mscc: ocelot: fix pMAC " Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 046/156] octeontx2-pf: Fix graceful exit during PFC configuration failure Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 047/156] net: Return error from sk_stream_wait_connect() if sk_wait_event() fails Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 048/156] net: sched: ife: fix potential use-after-free Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 049/156] ethernet: atheros: fix a memleak in atl1e_setup_ring_resources Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 050/156] net/rose: fix races in rose_kill_by_device() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 051/156] Bluetooth: Fix not notifying when connection encryption changes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 052/156] Bluetooth: Fix deadlock in vhci_send_frame Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 053/156] Bluetooth: hci_event: shut up a false-positive warning Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 054/156] Bluetooth: hci_core: Fix hci_conn_hash_lookup_cis Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 055/156] bnxt_en: do not map packet buffers twice Greg Kroah-Hartman
2024-01-02 15:22 ` Andy Gospodarek
2024-01-03 10:04 ` Greg Kroah-Hartman
2024-01-04 20:07 ` Andy Gospodarek
2024-01-05 9:52 ` Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 056/156] net: phy: skip LED triggers on PHYs on SFP modules Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 057/156] ice: stop trashing VF VSI aggregator node ID information Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 058/156] ice: alter feature support check for SRIOV and LAG Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 059/156] ice: Fix PF with enabled XDP going no-carrier after reset Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 060/156] net: mana: select PAGE_POOL Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 061/156] net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 062/156] afs: Fix the dynamic roots d_delete to always delete unused dentries Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 063/156] afs: Fix dynamic root lookup DNS check Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 064/156] net: ethernet: mtk_wed: fix possible NULL pointer dereference in mtk_wed_wo_queue_tx_clean() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 065/156] net/ipv6: Revert remove expired routes with a separated list of routes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 066/156] net: check dev->gso_max_size in gso_features_check() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 067/156] keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry Greg Kroah-Hartman
2024-01-05 2:13 ` Jeffrey E Altman
2024-01-05 9:51 ` Greg Kroah-Hartman
2024-01-05 10:06 ` Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 068/156] afs: Fix overwriting of result of DNS query Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 069/156] afs: Fix use-after-free due to get/remove race in volume tree Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 070/156] drm/i915/hwmon: Fix static analysis tool reported issues Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 071/156] drm/i915/mtl: Fix HDMI/DP PLL clock selection Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 072/156] ASoC: hdmi-codec: fix missing report for jack initial status Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 073/156] ASoC: fsl_sai: Fix channel swap issue on i.MX8MP Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 074/156] i2c: qcom-geni: fix missing clk_disable_unprepare() and geni_se_resources_off() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 075/156] drm/amdgpu: re-create idle bos PTE during VM state machine reset Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 076/156] i2c: aspeed: Handle the coalesced stop conditions with the start conditions Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 077/156] x86/xen: add CPU dependencies for 32-bit build Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 078/156] pinctrl: at91-pio4: use dedicated lock class for IRQ Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 079/156] gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 080/156] nvme-pci: fix sleeping function called from interrupt context Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 081/156] interconnect: Treat xlate() returning NULL node as an error Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 082/156] iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 083/156] interconnect: qcom: sm8250: Enable sync_state Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 084/156] Input: ipaq-micro-keys - add error handling for devm_kmemdup Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 085/156] iio: adc: meson: add separate config for axg SoC family Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 086/156] scsi: bnx2fc: Fix skb double free in bnx2fc_rcv() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 087/156] scsi: ufs: qcom: Return ufs_qcom_clk_scale_*() errors in ufs_qcom_clk_scale_notify() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 088/156] scsi: ufs: core: Let the sq_lock protect sq_tail_slot access Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 089/156] iio: kx022a: Fix acceleration value scaling Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 090/156] iio: adc: imx93: add four channels for imx93 adc Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 091/156] iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 092/156] iio: imu: adis16475: add spi_device_id table Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 093/156] iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 094/156] iio: tmag5273: fix temperature offset Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 095/156] iio: triggered-buffer: prevent possible freeing of wrong buffer Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 096/156] ALSA: usb-audio: Increase delay in MOTU M quirk Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 097/156] ARM: dts: Fix occasional boot hang for am3 usb Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 098/156] usb-storage: Add quirk for incorrect WP on Kingston DT Ultimate 3.0 G3 Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 099/156] wifi: mt76: fix crash with WED rx support enabled Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 100/156] wifi: cfg80211: Add my certificate Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 101/156] wifi: cfg80211: fix certs build to not depend on file order Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 102/156] USB: serial: ftdi_sio: update Actisense PIDs constant names Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 103/156] USB: serial: option: add Quectel EG912Y module support Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 104/156] USB: serial: option: add Foxconn T99W265 with new baseline Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 105/156] USB: serial: option: add Quectel RM500Q R13 firmware support Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 106/156] ALSA: hda/tas2781: select program 0, conf 0 by default Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 107/156] ALSA: hda/realtek: Add quirk for ASUS ROG GV302XA Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 108/156] ASoC: tas2781: check the validity of prm_no/cfg_no Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 109/156] Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 110/156] Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 111/156] Bluetooth: L2CAP: Send reject on command corrupted request Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 112/156] Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 113/156] Bluetooth: Add more enc key size check Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 114/156] usb: typec: ucsi: fix gpio-based orientation detection Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 115/156] usb: fotg210-hcd: delete an incorrect bounds test Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 116/156] net: usb: ax88179_178a: avoid failed operations when device is disconnected Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 117/156] Input: soc_button_array - add mapping for airplane mode button Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 118/156] net: 9p: avoid freeing uninit memory in p9pdu_vreadf Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 119/156] net: rfkill: gpio: set GPIO direction Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 120/156] net: ks8851: Fix TX stall caused by TX buffer overrun Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 121/156] net: avoid build bug in skb extension length calculation Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 122/156] net: stmmac: fix incorrect flag check in timestamp interrupt Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 123/156] dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 124/156] nfsd: call nfsd_last_thread() before final nfsd_put() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 125/156] smb: client: fix OOB in cifsd when receiving compounded resps Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 126/156] smb: client: fix potential OOB in cifs_dump_detail() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 127/156] smb: client: fix OOB in SMB2_query_info_init() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 128/156] smb: client: fix OOB in smbCalcSize() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 129/156] drm/i915: Reject async flips with bigjoiner Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 130/156] drm/i915/dmc: Dont enable any pipe DMC events Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 131/156] 9p: prevent read overrun in protocol dump tracepoint Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 132/156] ring-buffer: Fix 32-bit rb_time_read() race with rb_time_cmpxchg() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 133/156] ring-buffer: Remove useless update to write_stamp in rb_try_to_discard() Greg Kroah-Hartman
2023-12-30 21:47 ` Steven Rostedt
2024-01-03 10:05 ` Greg Kroah-Hartman
2023-12-30 11:59 ` Greg Kroah-Hartman [this message]
2023-12-30 11:59 ` [PATCH 6.6 135/156] spi: atmel: Do not cancel a transfer upon any signal Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 136/156] spi: atmel: Prevent spi transfers from being killed Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 137/156] spi: atmel: Fix clock issue when using devices with different polarities Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 138/156] nvmem: brcm_nvram: store a copy of NVRAM content Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 139/156] Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity" Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 140/156] scsi: core: Always send batch on reset or error handling command Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 141/156] tracing / synthetic: Disable events after testing in synth_event_gen_test_init() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 142/156] dm-integrity: dont modify bios immutable bio_vec in integrity_metadata() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 143/156] selftests: mptcp: join: fix subflow_send_ack lookup Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 144/156] pinctrl: starfive: jh7110: ignore disabled device tree nodes Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 145/156] pinctrl: starfive: jh7100: " Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 146/156] bus: ti-sysc: Flush posted write only after srst_udelay Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 147/156] gpio: dwapb: mask/unmask IRQ when disable/enale it Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 148/156] lib/vsprintf: Fix %pfwf when current node refcount == 0 Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 149/156] thunderbolt: Fix memory leak in margining_port_remove() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 150/156] KVM: arm64: vgic: Simplify kvm_vgic_destroy() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 151/156] KVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 152/156] KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 153/156] x86/alternatives: Sync core before enabling interrupts Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 154/156] x86/alternatives: Disable interrupts and sync when optimizing NOPs in place Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 155/156] x86/smpboot/64: Handle X2APIC BIOS inconsistency gracefully Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 156/156] spi: cadence: revert "Add SPI transfer delays" Greg Kroah-Hartman
2023-12-30 12:59 ` [PATCH 6.6 000/156] 6.6.9-rc1 review Ricardo B. Marliere
2023-12-30 15:05 ` Takeshi Ogasawara
2023-12-30 16:59 ` Florian Fainelli
2023-12-30 18:11 ` SeongJae Park
2023-12-31 1:03 ` Ron Economos
2023-12-31 3:18 ` Luna Jernberg
2023-12-31 9:18 ` Greg Kroah-Hartman
2023-12-31 8:10 ` Bagas Sanjaya
2023-12-31 9:19 ` Naresh Kamboju
2023-12-31 16:33 ` Guenter Roeck
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=20231230115816.734951989@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=patches@lists.linux.dev \
--cc=rostedt@goodmis.org \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.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