stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Victor Hassan <victor@allwinnertech.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Frederic Weisbecker <frederic@kernel.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 005/203] tick/broadcast: Make broadcast device replacement work correctly
Date: Mon, 22 May 2023 20:07:09 +0100	[thread overview]
Message-ID: <20230522190355.086309530@linuxfoundation.org> (raw)
In-Reply-To: <20230522190354.935300867@linuxfoundation.org>

From: Thomas Gleixner <tglx@linutronix.de>

[ Upstream commit f9d36cf445ffff0b913ba187a3eff78028f9b1fb ]

When a tick broadcast clockevent device is initialized for one shot mode
then tick_broadcast_setup_oneshot() OR's the periodic broadcast mode
cpumask into the oneshot broadcast cpumask.

This is required when switching from periodic broadcast mode to oneshot
broadcast mode to ensure that CPUs which are waiting for periodic
broadcast are woken up on the next tick.

But it is subtly broken, when an active broadcast device is replaced and
the system is already in oneshot (NOHZ/HIGHRES) mode. Victor observed
this and debugged the issue.

Then the OR of the periodic broadcast CPU mask is wrong as the periodic
cpumask bits are sticky after tick_broadcast_enable() set it for a CPU
unless explicitly cleared via tick_broadcast_disable().

That means that this sets all other CPUs which have tick broadcasting
enabled at that point unconditionally in the oneshot broadcast mask.

If the affected CPUs were already idle and had their bits set in the
oneshot broadcast mask then this does no harm. But for non idle CPUs
which were not set this corrupts their state.

On their next invocation of tick_broadcast_enable() they observe the bit
set, which indicates that the broadcast for the CPU is already set up.
As a consequence they fail to update the broadcast event even if their
earliest expiring timer is before the actually programmed broadcast
event.

If the programmed broadcast event is far in the future, then this can
cause stalls or trigger the hung task detector.

Avoid this by telling tick_broadcast_setup_oneshot() explicitly whether
this is the initial switch over from periodic to oneshot broadcast which
must take the periodic broadcast mask into account. In the case of
initialization of a replacement device this prevents that the broadcast
oneshot mask is modified.

There is a second problem with broadcast device replacement in this
function. The broadcast device is only armed when the previous state of
the device was periodic.

That is correct for the switch from periodic broadcast mode to oneshot
broadcast mode as the underlying broadcast device could operate in
oneshot state already due to lack of periodic state in hardware. In that
case it is already armed to expire at the next tick.

For the replacement case this is wrong as the device is in shutdown
state. That means that any already pending broadcast event will not be
armed.

This went unnoticed because any CPU which goes idle will observe that
the broadcast device has an expiry time of KTIME_MAX and therefore any
CPUs next timer event will be earlier and cause a reprogramming of the
broadcast device. But that does not guarantee that the events of the
CPUs which were already in idle are delivered on time.

Fix this by arming the newly installed device for an immediate event
which will reevaluate the per CPU expiry times and reprogram the
broadcast device accordingly. This is simpler than caching the last
expiry time in yet another place or saving it before the device exchange
and handing it down to the setup function. Replacement of broadcast
devices is not a frequent operation and usually happens once somewhere
late in the boot process.

Fixes: 9c336c9935cf ("tick/broadcast: Allow late registered device to enter oneshot mode")
Reported-by: Victor Hassan <victor@allwinnertech.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/r/87pm7d2z1i.ffs@tglx
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/time/tick-broadcast.c | 120 +++++++++++++++++++++++++----------
 1 file changed, 88 insertions(+), 32 deletions(-)

diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
index f7fe6fe361731..0916cc9adb828 100644
--- a/kernel/time/tick-broadcast.c
+++ b/kernel/time/tick-broadcast.c
@@ -35,14 +35,15 @@ static __cacheline_aligned_in_smp DEFINE_RAW_SPINLOCK(tick_broadcast_lock);
 #ifdef CONFIG_TICK_ONESHOT
 static DEFINE_PER_CPU(struct clock_event_device *, tick_oneshot_wakeup_device);
 
-static void tick_broadcast_setup_oneshot(struct clock_event_device *bc);
+static void tick_broadcast_setup_oneshot(struct clock_event_device *bc, bool from_periodic);
 static void tick_broadcast_clear_oneshot(int cpu);
 static void tick_resume_broadcast_oneshot(struct clock_event_device *bc);
 # ifdef CONFIG_HOTPLUG_CPU
 static void tick_broadcast_oneshot_offline(unsigned int cpu);
 # endif
 #else
-static inline void tick_broadcast_setup_oneshot(struct clock_event_device *bc) { BUG(); }
+static inline void
+tick_broadcast_setup_oneshot(struct clock_event_device *bc, bool from_periodic) { BUG(); }
 static inline void tick_broadcast_clear_oneshot(int cpu) { }
 static inline void tick_resume_broadcast_oneshot(struct clock_event_device *bc) { }
 # ifdef CONFIG_HOTPLUG_CPU
@@ -264,7 +265,7 @@ int tick_device_uses_broadcast(struct clock_event_device *dev, int cpu)
 		if (tick_broadcast_device.mode == TICKDEV_MODE_PERIODIC)
 			tick_broadcast_start_periodic(bc);
 		else
-			tick_broadcast_setup_oneshot(bc);
+			tick_broadcast_setup_oneshot(bc, false);
 		ret = 1;
 	} else {
 		/*
@@ -500,7 +501,7 @@ void tick_broadcast_control(enum tick_broadcast_mode mode)
 			if (tick_broadcast_device.mode == TICKDEV_MODE_PERIODIC)
 				tick_broadcast_start_periodic(bc);
 			else
-				tick_broadcast_setup_oneshot(bc);
+				tick_broadcast_setup_oneshot(bc, false);
 		}
 	}
 out:
@@ -1016,48 +1017,101 @@ static inline ktime_t tick_get_next_period(void)
 /**
  * tick_broadcast_setup_oneshot - setup the broadcast device
  */
-static void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
+static void tick_broadcast_setup_oneshot(struct clock_event_device *bc,
+					 bool from_periodic)
 {
 	int cpu = smp_processor_id();
+	ktime_t nexttick = 0;
 
 	if (!bc)
 		return;
 
-	/* Set it up only once ! */
-	if (bc->event_handler != tick_handle_oneshot_broadcast) {
-		int was_periodic = clockevent_state_periodic(bc);
-
-		bc->event_handler = tick_handle_oneshot_broadcast;
-
+	/*
+	 * When the broadcast device was switched to oneshot by the first
+	 * CPU handling the NOHZ change, the other CPUs will reach this
+	 * code via hrtimer_run_queues() -> tick_check_oneshot_change()
+	 * too. Set up the broadcast device only once!
+	 */
+	if (bc->event_handler == tick_handle_oneshot_broadcast) {
 		/*
-		 * We must be careful here. There might be other CPUs
-		 * waiting for periodic broadcast. We need to set the
-		 * oneshot_mask bits for those and program the
-		 * broadcast device to fire.
+		 * The CPU which switched from periodic to oneshot mode
+		 * set the broadcast oneshot bit for all other CPUs which
+		 * are in the general (periodic) broadcast mask to ensure
+		 * that CPUs which wait for the periodic broadcast are
+		 * woken up.
+		 *
+		 * Clear the bit for the local CPU as the set bit would
+		 * prevent the first tick_broadcast_enter() after this CPU
+		 * switched to oneshot state to program the broadcast
+		 * device.
+		 *
+		 * This code can also be reached via tick_broadcast_control(),
+		 * but this cannot avoid the tick_broadcast_clear_oneshot()
+		 * as that would break the periodic to oneshot transition of
+		 * secondary CPUs. But that's harmless as the below only
+		 * clears already cleared bits.
 		 */
+		tick_broadcast_clear_oneshot(cpu);
+		return;
+	}
+
+
+	bc->event_handler = tick_handle_oneshot_broadcast;
+	bc->next_event = KTIME_MAX;
+
+	/*
+	 * When the tick mode is switched from periodic to oneshot it must
+	 * be ensured that CPUs which are waiting for periodic broadcast
+	 * get their wake-up at the next tick.  This is achieved by ORing
+	 * tick_broadcast_mask into tick_broadcast_oneshot_mask.
+	 *
+	 * For other callers, e.g. broadcast device replacement,
+	 * tick_broadcast_oneshot_mask must not be touched as this would
+	 * set bits for CPUs which are already NOHZ, but not idle. Their
+	 * next tick_broadcast_enter() would observe the bit set and fail
+	 * to update the expiry time and the broadcast event device.
+	 */
+	if (from_periodic) {
 		cpumask_copy(tmpmask, tick_broadcast_mask);
+		/* Remove the local CPU as it is obviously not idle */
 		cpumask_clear_cpu(cpu, tmpmask);
-		cpumask_or(tick_broadcast_oneshot_mask,
-			   tick_broadcast_oneshot_mask, tmpmask);
+		cpumask_or(tick_broadcast_oneshot_mask, tick_broadcast_oneshot_mask, tmpmask);
 
-		if (was_periodic && !cpumask_empty(tmpmask)) {
-			ktime_t nextevt = tick_get_next_period();
+		/*
+		 * Ensure that the oneshot broadcast handler will wake the
+		 * CPUs which are still waiting for periodic broadcast.
+		 */
+		nexttick = tick_get_next_period();
+		tick_broadcast_init_next_event(tmpmask, nexttick);
 
-			clockevents_switch_state(bc, CLOCK_EVT_STATE_ONESHOT);
-			tick_broadcast_init_next_event(tmpmask, nextevt);
-			tick_broadcast_set_event(bc, cpu, nextevt);
-		} else
-			bc->next_event = KTIME_MAX;
-	} else {
 		/*
-		 * The first cpu which switches to oneshot mode sets
-		 * the bit for all other cpus which are in the general
-		 * (periodic) broadcast mask. So the bit is set and
-		 * would prevent the first broadcast enter after this
-		 * to program the bc device.
+		 * If the underlying broadcast clock event device is
+		 * already in oneshot state, then there is nothing to do.
+		 * The device was already armed for the next tick
+		 * in tick_handle_broadcast_periodic()
 		 */
-		tick_broadcast_clear_oneshot(cpu);
+		if (clockevent_state_oneshot(bc))
+			return;
 	}
+
+	/*
+	 * When switching from periodic to oneshot mode arm the broadcast
+	 * device for the next tick.
+	 *
+	 * If the broadcast device has been replaced in oneshot mode and
+	 * the oneshot broadcast mask is not empty, then arm it to expire
+	 * immediately in order to reevaluate the next expiring timer.
+	 * @nexttick is 0 and therefore in the past which will cause the
+	 * clockevent code to force an event.
+	 *
+	 * For both cases the programming can be avoided when the oneshot
+	 * broadcast mask is empty.
+	 *
+	 * tick_broadcast_set_event() implicitly switches the broadcast
+	 * device to oneshot state.
+	 */
+	if (!cpumask_empty(tick_broadcast_oneshot_mask))
+		tick_broadcast_set_event(bc, cpu, nexttick);
 }
 
 /*
@@ -1066,14 +1120,16 @@ static void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
 void tick_broadcast_switch_to_oneshot(void)
 {
 	struct clock_event_device *bc;
+	enum tick_device_mode oldmode;
 	unsigned long flags;
 
 	raw_spin_lock_irqsave(&tick_broadcast_lock, flags);
 
+	oldmode = tick_broadcast_device.mode;
 	tick_broadcast_device.mode = TICKDEV_MODE_ONESHOT;
 	bc = tick_broadcast_device.evtdev;
 	if (bc)
-		tick_broadcast_setup_oneshot(bc);
+		tick_broadcast_setup_oneshot(bc, oldmode == TICKDEV_MODE_PERIODIC);
 
 	raw_spin_unlock_irqrestore(&tick_broadcast_lock, flags);
 }
-- 
2.39.2




  parent reply	other threads:[~2023-05-22 19:13 UTC|newest]

Thread overview: 216+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-22 19:07 [PATCH 5.15 000/203] 5.15.113-rc1 review Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 001/203] drm/mipi-dsi: Set the fwnode for mipi_dsi_device Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 002/203] ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 003/203] net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 004/203] scsi: ufs: core: Fix I/O hang that occurs when BKOPS fails in W-LUN suspend Greg Kroah-Hartman
2023-05-22 19:07 ` Greg Kroah-Hartman [this message]
2023-05-22 19:07 ` [PATCH 5.15 006/203] linux/dim: Do nothing if no time delta between samples Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 007/203] net: stmmac: switch to use interrupt for hw crosstimestamping Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 008/203] net: stmmac: Initialize MAC_ONEUS_TIC_COUNTER register Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 009/203] net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 010/203] netfilter: nf_tables: always release netdev hooks from notifier Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 011/203] netfilter: conntrack: fix possible bug_on with enable_hooks=1 Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 012/203] netlink: annotate accesses to nlk->cb_running Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 013/203] net: annotate sk->sk_err write from do_recvmmsg() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 014/203] net: deal with most data-races in sk_wait_event() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 015/203] net: add vlan_get_protocol_and_depth() helper Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 016/203] tcp: add annotations around sk->sk_shutdown accesses Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 017/203] gve: Remove the code of clearing PBA bit Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 018/203] ipvlan:Fix out-of-bounds caused by unclear skb->cb Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 019/203] net: datagram: fix data-races in datagram_poll() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 020/203] af_unix: Fix a data race of sk->sk_receive_queue->qlen Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 021/203] af_unix: Fix data races around sk->sk_shutdown Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 022/203] drm/i915/dp: prevent potential div-by-zero Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 023/203] fbdev: arcfb: Fix error handling in arcfb_probe() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 024/203] ext4: remove an unused variable warning with CONFIG_QUOTA=n Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 025/203] ext4: reflect error codes from ext4_multi_mount_protect() to its callers Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 026/203] ext4: dont clear SB_RDONLY when remounting r/w until quota is re-enabled Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 027/203] ext4: fix lockdep warning when enabling MMP Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 028/203] ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 029/203] ext4: allow ext4_get_group_info() to fail Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 030/203] refscale: Move shutdown from wait_event() to wait_event_idle() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 031/203] rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 032/203] fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 033/203] drm/displayid: add displayid_get_header() and check bounds better Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 034/203] drm/amd/display: Use DC_LOG_DC in the trasform pixel function Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 035/203] regmap: cache: Return error in cache sync operations for REGCACHE_NONE Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 036/203] arm64: dts: qcom: msm8996: Add missing DWC3 quirks Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 037/203] media: cx23885: Fix a null-ptr-deref bug in buffer_prepare() and buffer_finish() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 038/203] media: pci: tw68: Fix null-ptr-deref bug in buf prepare and finish Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 039/203] memstick: r592: Fix UAF bug in r592_remove due to race condition Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 040/203] firmware: arm_sdei: Fix sleep from invalid context BUG Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 041/203] ACPI: EC: Fix oops when removing custom query handlers Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 042/203] remoteproc: stm32_rproc: Add mutex protection for workqueue Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 043/203] drm/tegra: Avoid potential 32-bit integer overflow Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 044/203] drm/msm/dp: Clean up handling of DP AUX interrupts Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 045/203] ACPICA: Avoid undefined behavior: applying zero offset to null pointer Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 046/203] ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 047/203] drm/amd: Fix an out of bounds error in BIOS parser Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 048/203] media: Prefer designated initializers over memset for subdev pad ops Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 049/203] wifi: ath: Silence memcpy run-time false positive warning Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 050/203] bpf: Annotate data races in bpf_local_storage Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 051/203] wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 052/203] ext2: Check block size validity during mount Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 053/203] scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 054/203] bnxt: avoid overflow in bnxt_get_nvram_directory() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 5.15 055/203] net: pasemi: Fix return type of pasemi_mac_start_tx() Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 056/203] net: Catch invalid index in XPS mapping Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 057/203] scsi: target: iscsit: Free cmds before session free Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 058/203] lib: cpu_rmap: Avoid use after free on rmap->obj array entries Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 059/203] scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 060/203] gfs2: Fix inode height consistency check Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 061/203] scsi: ufs: ufs-pci: Add support for Intel Lunar Lake Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 062/203] ext4: set goal start correctly in ext4_mb_normalize_request Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 063/203] ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa() Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 064/203] f2fs: fix to drop all dirty pages during umount() if cp_error is set Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 065/203] f2fs: fix to check readonly condition correctly Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 066/203] samples/bpf: Fix fout leak in hbms run_bpf_prog Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 067/203] bpf: Add preempt_count_{sub,add} into btf id deny list Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 068/203] wifi: iwlwifi: pcie: fix possible NULL pointer dereference Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 069/203] wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 070/203] null_blk: Always check queue mode setting from configfs Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 071/203] wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 072/203] wifi: ath11k: Fix SKB corruption in REO destination ring Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 073/203] nbd: fix incomplete validation of ioctl arg Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 074/203] ipvs: Update width of source for ip_vs_sync_conn_options Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 075/203] Bluetooth: btintel: Add LE States quirk support Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 076/203] Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 077/203] Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 078/203] staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 079/203] HID: logitech-hidpp: Dont use the USB serial for USB devices Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 080/203] HID: logitech-hidpp: Reconcile USB and Unifying serials Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 081/203] spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3 Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 082/203] HID: wacom: generic: Set battery quirk only when we see battery data Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 083/203] usb: typec: tcpm: fix multiple times discover svids error Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 084/203] serial: 8250: Reinit port->pm on port specific driver unbind Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 085/203] mcb-pci: Reallocate memory region to avoid memory overlapping Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 086/203] sched: Fix KCSAN noinstr violation Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 087/203] recordmcount: Fix memory leaks in the uwrite function Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 088/203] RDMA/core: Fix multiple -Warray-bounds warnings Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 089/203] iommu/arm-smmu-qcom: Limit the SMR groups to 128 Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 090/203] fs/ntfs3: Fix NULL pointer dereference in ni_write_inode Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 091/203] fs/ntfs3: Enhance the attribute size check Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 092/203] fs/ntfs3: Fix NULL dereference in ni_write_inode Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 093/203] fs/ntfs3: Validate MFT flags before replaying logs Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 094/203] fs/ntfs3: Add length check in indx_get_root Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 095/203] fs/ntfs3: Fix a possible null-pointer dereference in ni_clear() Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 096/203] clk: tegra20: fix gcc-7 constant overflow warning Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 097/203] iommu/arm-smmu-v3: Acknowledge pri/event queue overflow if any Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 098/203] iommu/sprd: Release dma buffer to avoid memory leak Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 099/203] Input: xpad - add constants for GIP interface numbers Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 100/203] phy: st: miphy28lp: use _poll_timeout functions for waits Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 101/203] soundwire: qcom: gracefully handle too many ports in DT Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 102/203] mfd: dln2: Fix memory leak in dln2_probe() Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 103/203] parisc: Replace regular spinlock with spin_trylock on panic path Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 104/203] platform/x86: hp-wmi: Support touchpad on/off Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 105/203] platform/x86: Move existing HP drivers to a new hp subdir Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 106/203] platform/x86: hp-wmi: add micmute to hp_wmi_keymap struct Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 107/203] xfrm: dont check the default policy if the policy allows the packet Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 108/203] Revert "Fix XFRM-I support for nested ESP tunnels" Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 109/203] drm/msm/dp: unregister audio driver during unbind Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 110/203] drm/msm/dpu: Add INTF_5 interrupts Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 111/203] drm/msm/dpu: Move non-MDP_TOP INTF_INTR offsets out of hwio header Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 112/203] drm/msm/dpu: Remove duplicate register defines from INTF Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 113/203] dt-bindings: display/msm: dsi-controller-main: Document qcom, master-dsi and qcom, sync-dual-dsi Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 114/203] ASoC: fsl_micfil: Fix error handler with pm_runtime_enable Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 5.15 115/203] cpupower: Make TSC read per CPU for Mperf monitor Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 116/203] af_key: Reject optional tunnel/BEET mode templates in outbound policies Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 117/203] selftests: seg6: disable DAD on IPv6 router cfg for srv6_end_dt4_l3vpn_test Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 118/203] selftets: seg6: disable rp_filter by default in srv6_end_dt4_l3vpn_test Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 119/203] net: fec: Better handle pm_runtime_get() failing in .remove() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 120/203] net: phy: dp83867: add w/a for packet errors seen with short cables Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 121/203] ALSA: firewire-digi00x: prevent potential use after free Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 122/203] ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15 Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 123/203] vsock: avoid to close connected socket after the timeout Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 124/203] tcp: fix possible sk_priority leak in tcp_v4_send_reset() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 125/203] serial: arc_uart: fix of_iomap leak in `arc_serial_probe` Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 126/203] serial: 8250_bcm7271: balance clk_enable calls Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 127/203] serial: 8250_bcm7271: fix leak in `brcmuart_probe` Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 128/203] erspan: get the proto with the md version for collect_md Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 129/203] net: hns3: fix output information incomplete for dumping tx queue info with debugfs Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 130/203] net: hns3: fix sending pfc frames after reset issue Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 131/203] net: hns3: fix reset delay time to avoid configuration timeout Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 132/203] media: netup_unidvb: fix use-after-free at del_timer() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 133/203] SUNRPC: double free xprt_ctxt while still in use Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 134/203] tracing: Introduce helpers to safely handle dynamic-sized sockaddrs Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 135/203] SUNRPC: Clean up svc_deferred_class trace events Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 136/203] SUNRPC: Remove dead code in svc_tcp_release_rqst() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 137/203] SUNRPC: Remove svc_rqst::rq_xprt_hlen Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 138/203] SUNRPC: always free ctxt when freeing deferred request Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 139/203] SUNRPC: Fix trace_svc_register() call site Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 140/203] drm/exynos: fix g2d_open/close helper function definitions Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 141/203] net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 142/203] virtio-net: Maintain reverse cleanup order Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 143/203] virtio_net: Fix error unwinding of XDP initialization Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 144/203] tipc: add tipc_bearer_min_mtu to calculate min mtu Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 145/203] tipc: do not update mtu if msg_max is too small in mtu negotiation Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 146/203] tipc: check the bearer min mtu properly when setting it by netlink Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 147/203] s390/cio: include subchannels without devices also for evaluation Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 148/203] net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 149/203] net: bcmgenet: Restore phy_stop() depending upon suspend/close Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 150/203] wifi: mac80211: fix min center freq offset tracing Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 151/203] wifi: iwlwifi: mvm: fix cancel_delayed_work_sync() deadlock Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 152/203] wifi: iwlwifi: mvm: dont trust firmware n_channels Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 153/203] scsi: storvsc: Dont pass unused PFNs to Hyper-V host Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 154/203] cassini: Fix a memory leak in the error handling path of cas_init_one() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 155/203] net: dsa: mv88e6xxx: Fix mv88e6393x EPC write command offset Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 156/203] igb: fix bit_shift to be in [1..8] range Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 157/203] vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 158/203] netfilter: nf_tables: fix nft_trans type confusion Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 159/203] netfilter: nft_set_rbtree: fix null deref on element insertion Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 160/203] bridge: always declare tunnel functions Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 161/203] ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 162/203] USB: usbtmc: Fix direction for 0-length ioctl control messages Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 163/203] usb-storage: fix deadlock when a scsi command timeouts more than once Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 164/203] USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 165/203] usb: dwc3: debugfs: Resume dwc3 before accessing registers Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 166/203] usb: gadget: u_ether: Fix host MAC address case Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 167/203] usb: typec: altmodes/displayport: fix pin_assignment_show Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 168/203] xhci-pci: Only run d3cold avoidance quirk for s2idle Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 169/203] xhci: Fix incorrect tracking of free space on transfer rings Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 170/203] ALSA: hda: Fix Oops by 9.1 surround channel names Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 171/203] ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 172/203] ALSA: hda/realtek: Add quirk for Clevo L140AU Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 173/203] ALSA: hda/realtek: Add a quirk for HP EliteDesk 805 Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 174/203] ALSA: hda/realtek: Add quirk for 2nd ASUS GU603 Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 5.15 175/203] can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 176/203] can: isotp: " Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 177/203] can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop() Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 178/203] can: kvaser_pciefd: Call request_irq() before enabling interrupts Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 179/203] can: kvaser_pciefd: Empty SRB buffer in probe Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 180/203] can: kvaser_pciefd: Clear listen-only bit if not explicitly requested Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 181/203] can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 182/203] can: kvaser_pciefd: Disable interrupts in probe error path Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 183/203] SMB3: Close all deferred handles of inode in case of handle lease break Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 184/203] SMB3: drop reference to cfile before sending oplock break Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 185/203] ksmbd: smb2: Allow messages padded to 8byte boundary Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 186/203] ksmbd: allocate one more byte for implied bcc[0] Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 187/203] ksmbd: fix wrong UserName check in session_user Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 188/203] ksmbd: fix global-out-of-bounds in smb2_find_context_vals Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 189/203] statfs: enforce statfs[64] structure initialization Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 190/203] serial: Add support for Advantech PCI-1611U card Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 191/203] serial: 8250_exar: Add support for USR298x PCI Modems Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 192/203] serial: qcom-geni: fix enabling deactivated interrupt Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 193/203] thunderbolt: Clear registers properly when auto clear isnt in use Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 194/203] vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 195/203] ceph: force updating the msg pointer in non-split case Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 196/203] powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 197/203] tpm/tpm_tis: Disable interrupts for more Lenovo devices Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 198/203] powerpc/64s/radix: Fix soft dirty tracking Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 199/203] nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode() Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 200/203] s390/qdio: fix do_sqbs() inline assembly constraint Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 201/203] HID: wacom: Force pen out of prox if no events have been received in a while Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 202/203] HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 5.15 203/203] HID: wacom: add three styli to wacom_intuos_get_tool_type Greg Kroah-Hartman
2023-05-22 19:45 ` [PATCH 5.15 000/203] 5.15.113-rc1 review Florian Fainelli
2023-05-22 20:32 ` Chris Paterson
2023-05-23  0:22 ` Shuah Khan
2023-05-23  1:02 ` Theodore Ts'o
2023-05-23  2:23 ` Was there a call for 5.10.181-rc1 review? Theodore Ts'o
2023-05-23  6:23   ` Greg Kroah-Hartman
2023-05-24  4:41     ` Theodore Ts'o
2023-05-23  3:13 ` [PATCH 5.15 000/203] 5.15.113-rc1 review Bagas Sanjaya
2023-05-23  7:24 ` Harshit Mogalapalli
2023-05-23 13:40 ` Jon Hunter
2023-05-23 15:12 ` Naresh Kamboju
2023-05-24  0:36 ` 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=20230522190355.086309530@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=frederic@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=victor@allwinnertech.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;
as well as URLs for NNTP newsgroup(s).