public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Waiman Long <longman@redhat.com>, Ingo Molnar <mingo@kernel.org>,
	Rik van Riel <riel@surriel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Sasha Levin <sashal@kernel.org>,
	mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
	x86@kernel.org, kai.huang@intel.com,
	kirill.shutemov@linux.intel.com, pbonzini@redhat.com,
	brgerst@gmail.com, peterz@infradead.org
Subject: [PATCH AUTOSEL 5.15 091/153] x86/nmi: Add an emergency handler in nmi_desc & use it in nmi_shootdown_cpus()
Date: Mon,  5 May 2025 19:12:18 -0400	[thread overview]
Message-ID: <20250505231320.2695319-91-sashal@kernel.org> (raw)
In-Reply-To: <20250505231320.2695319-1-sashal@kernel.org>

From: Waiman Long <longman@redhat.com>

[ Upstream commit fe37c699ae3eed6e02ee55fbf5cb9ceb7fcfd76c ]

Depending on the type of panics, it was found that the
__register_nmi_handler() function can be called in NMI context from
nmi_shootdown_cpus() leading to a lockdep splat:

  WARNING: inconsistent lock state
  inconsistent {INITIAL USE} -> {IN-NMI} usage.

   lock(&nmi_desc[0].lock);
   <Interrupt>
     lock(&nmi_desc[0].lock);

  Call Trace:
    _raw_spin_lock_irqsave
    __register_nmi_handler
    nmi_shootdown_cpus
    kdump_nmi_shootdown_cpus
    native_machine_crash_shutdown
    __crash_kexec

In this particular case, the following panic message was printed before:

  Kernel panic - not syncing: Fatal hardware error!

This message seemed to be given out from __ghes_panic() running in
NMI context.

The __register_nmi_handler() function which takes the nmi_desc lock
with irq disabled shouldn't be called from NMI context as this can
lead to deadlock.

The nmi_shootdown_cpus() function can only be invoked once. After the
first invocation, all other CPUs should be stuck in the newly added
crash_nmi_callback() and cannot respond to a second NMI.

Fix it by adding a new emergency NMI handler to the nmi_desc
structure and provide a new set_emergency_nmi_handler() helper to set
crash_nmi_callback() in any context. The new emergency handler will
preempt other handlers in the linked list. That will eliminate the need
to take any lock and serve the panic in NMI use case.

Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Rik van Riel <riel@surriel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20250206191844.131700-1-longman@redhat.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/include/asm/nmi.h |  2 ++
 arch/x86/kernel/nmi.c      | 42 ++++++++++++++++++++++++++++++++++++++
 arch/x86/kernel/reboot.c   | 10 +++------
 3 files changed, 47 insertions(+), 7 deletions(-)

diff --git a/arch/x86/include/asm/nmi.h b/arch/x86/include/asm/nmi.h
index 1cb9c17a4cb4b..affe5522961ae 100644
--- a/arch/x86/include/asm/nmi.h
+++ b/arch/x86/include/asm/nmi.h
@@ -58,6 +58,8 @@ int __register_nmi_handler(unsigned int, struct nmiaction *);
 
 void unregister_nmi_handler(unsigned int, const char *);
 
+void set_emergency_nmi_handler(unsigned int type, nmi_handler_t handler);
+
 void stop_nmi(void);
 void restart_nmi(void);
 void local_touch_nmi(void);
diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index b892fe7035db5..a858d8e5d6104 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -38,8 +38,12 @@
 #define CREATE_TRACE_POINTS
 #include <trace/events/nmi.h>
 
+/*
+ * An emergency handler can be set in any context including NMI
+ */
 struct nmi_desc {
 	raw_spinlock_t lock;
+	nmi_handler_t emerg_handler;
 	struct list_head head;
 };
 
@@ -121,9 +125,22 @@ static void nmi_check_duration(struct nmiaction *action, u64 duration)
 static int nmi_handle(unsigned int type, struct pt_regs *regs)
 {
 	struct nmi_desc *desc = nmi_to_desc(type);
+	nmi_handler_t ehandler;
 	struct nmiaction *a;
 	int handled=0;
 
+	/*
+	 * Call the emergency handler, if set
+	 *
+	 * In the case of crash_nmi_callback() emergency handler, it will
+	 * return in the case of the crashing CPU to enable it to complete
+	 * other necessary crashing actions ASAP. Other handlers in the
+	 * linked list won't need to be run.
+	 */
+	ehandler = desc->emerg_handler;
+	if (ehandler)
+		return ehandler(type, regs);
+
 	rcu_read_lock();
 
 	/*
@@ -209,6 +226,31 @@ void unregister_nmi_handler(unsigned int type, const char *name)
 }
 EXPORT_SYMBOL_GPL(unregister_nmi_handler);
 
+/**
+ * set_emergency_nmi_handler - Set emergency handler
+ * @type:    NMI type
+ * @handler: the emergency handler to be stored
+ *
+ * Set an emergency NMI handler which, if set, will preempt all the other
+ * handlers in the linked list. If a NULL handler is passed in, it will clear
+ * it. It is expected that concurrent calls to this function will not happen
+ * or the system is screwed beyond repair.
+ */
+void set_emergency_nmi_handler(unsigned int type, nmi_handler_t handler)
+{
+	struct nmi_desc *desc = nmi_to_desc(type);
+
+	if (WARN_ON_ONCE(desc->emerg_handler == handler))
+		return;
+	desc->emerg_handler = handler;
+
+	/*
+	 * Ensure the emergency handler is visible to other CPUs before
+	 * function return
+	 */
+	smp_wmb();
+}
+
 static void
 pci_serr_error(unsigned char reason, struct pt_regs *regs)
 {
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index deedd77c7593f..d8f7f8e43e199 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -874,15 +874,11 @@ void nmi_shootdown_cpus(nmi_shootdown_cb callback)
 	shootdown_callback = callback;
 
 	atomic_set(&waiting_for_crash_ipi, num_online_cpus() - 1);
-	/* Would it be better to replace the trap vector here? */
-	if (register_nmi_handler(NMI_LOCAL, crash_nmi_callback,
-				 NMI_FLAG_FIRST, "crash"))
-		return;		/* Return what? */
+
 	/*
-	 * Ensure the new callback function is set before sending
-	 * out the NMI
+	 * Set emergency handler to preempt other handlers.
 	 */
-	wmb();
+	set_emergency_nmi_handler(NMI_LOCAL, crash_nmi_callback);
 
 	apic_send_IPI_allbutself(NMI_VECTOR);
 
-- 
2.39.5


  parent reply	other threads:[~2025-05-05 23:16 UTC|newest]

Thread overview: 155+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-05 23:10 [PATCH AUTOSEL 5.15 001/153] kconfig: merge_config: use an empty file as initfile Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 002/153] NFSv4: Check for delegation validity in nfs_start_delegation_return_locked() Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 003/153] tracing: Mark binary printing functions with __printf() attribute Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 004/153] mailbox: use error ret code of of_parse_phandle_with_args() Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 005/153] fbdev: fsl-diu-fb: add missing device_remove_file() Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 006/153] fbcon: Use correct erase colour for clearing in fbcon Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 007/153] fbdev: core: tileblit: Implement missing margin clearing for tileblit Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 008/153] NFSv4: Treat ENETUNREACH errors as fatal for state recovery Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 009/153] SUNRPC: rpc_clnt_set_transport() must not change the autobind setting Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 010/153] SUNRPC: rpcbind should never reset the port to the value '0' Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 011/153] thermal/drivers/qoriq: Power down TMU on system suspend Sasha Levin
2025-05-05 23:10 ` [PATCH AUTOSEL 5.15 012/153] exit: fix the usage of delay_group_leader->exit_code in do_notify_parent() and pidfs_exit() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 013/153] dql: Fix dql->limit value when reset Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 014/153] lockdep: Fix wait context check on softirq for PREEMPT_RT Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 015/153] PCI: dwc: ep: Ensure proper iteration over outbound map windows Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 016/153] tools/build: Don't pass test log files to linker Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 017/153] pNFS/flexfiles: Report ENETDOWN as a connection error Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 018/153] PCI: vmd: Disable MSI remapping bypass under Xen Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 019/153] libnvdimm/labels: Fix divide error in nd_label_data_init() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 020/153] mmc: host: Wait for Vdd to settle on card power off Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 021/153] wifi: mt76: only mark tx-status-failed frames as ACKed on mt76x0/2 Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 022/153] i2c: qup: Vote for interconnect bandwidth to DRAM Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 023/153] i2c: pxa: fix call balance of i2c->clk handling routines Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 024/153] btrfs: make btrfs_discard_workfn() block_group ref explicit Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 025/153] btrfs: avoid linker error in btrfs_find_create_tree_block() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 026/153] btrfs: get zone unusable bytes while holding lock at btrfs_reclaim_bgs_work() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 027/153] btrfs: send: return -ENAMETOOLONG when attempting a path that is too long Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 028/153] i3c: master: svc: Fix missing STOP for master request Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 029/153] dlm: make tcp still work in multi-link env Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 030/153] clocksource/drivers/timer-riscv: Stop stimecmp when cpu hotplug Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 031/153] um: Store full CSGSFS and SS register from mcontext Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 032/153] um: Update min_low_pfn to match changes in uml_reserved Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 033/153] ext4: reorder capability check last Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 034/153] scsi: st: Tighten the page format heuristics with MODE SELECT Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 035/153] scsi: st: ERASE does not change tape location Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 036/153] vfio/pci: Handle INTx IRQ_NOTCONNECTED Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 037/153] tcp: reorganize tcp_in_ack_event() and tcp_count_delivered() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 038/153] rtc: rv3032: fix EERD location Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 039/153] ASoC: mediatek: mt6359: Add stub for mt6359_accdet_enable_jack_detect Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 040/153] kbuild: fix argument parsing in scripts/config Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 041/153] crypto: octeontx2 - suppress auth failure screaming due to negative tests Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 042/153] dm: restrict dm device size to 2^63-512 bytes Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 043/153] xen: Add support for XenServer 6.1 platform device Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 044/153] f2fs: defer readonly check vs norecovery Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 045/153] RDMA/uverbs: Propagate errors from rdma_lookup_get_uobject() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 046/153] posix-timers: Add cond_resched() to posix_timer_add() search loop Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 047/153] timer_list: Don't use %pK through printk() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 048/153] netfilter: conntrack: Bound nf_conntrack sysctl writes Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 049/153] arm64/mm: Check PUD_TYPE_TABLE in pud_bad() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 050/153] mmc: sdhci: Disable SD card clock before changing parameters Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 051/153] ipv6: save dontfrag in cork Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 052/153] auxdisplay: charlcd: Partially revert "Move hwidth and bwidth to struct hd44780_common" Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 053/153] ASoC: qcom: sm8250: explicitly set format in sm8250_be_hw_params_fixup() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 054/153] cpufreq: tegra186: Share policy per cluster Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 055/153] crypto: lzo - Fix compression buffer overrun Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 056/153] arm64: tegra: p2597: Fix gpio for vdd-1v8-dis regulator Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 057/153] powerpc/prom_init: Fixup missing #size-cells on PowerBook6,7 Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 058/153] tcp: bring back NUMA dispersion in inet_ehash_locks_alloc() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 059/153] rtc: ds1307: stop disabling alarms on probe Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 060/153] ieee802154: ca8210: Use proper setters and getters for bitwise types Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 061/153] ARM: tegra: Switch DSI-B clock parent to PLLD on Tegra114 Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 062/153] media: c8sectpfe: Call of_node_put(i2c_bus) only once in c8sectpfe_probe() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 063/153] dm cache: prevent BUG_ON by blocking retries on failed device resumes Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 064/153] orangefs: Do not truncate file size Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 065/153] remoteproc: qcom_wcnss: Handle platforms with only single power domain Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 066/153] drm/amdgpu: Do not program AGP BAR regs under SRIOV in gfxhub_v1_0.c Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 067/153] media: cx231xx: set device_caps for 417 Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 068/153] pinctrl: bcm281xx: Use "unsigned int" instead of bare "unsigned" Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 069/153] net: ethernet: ti: cpsw_new: populate netdev of_node Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 070/153] net: pktgen: fix mpls maximum labels list parsing Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 071/153] ipv4: fib: Move fib_valid_key_len() to rtm_to_fib_config() Sasha Levin
2025-05-05 23:11 ` [PATCH AUTOSEL 5.15 072/153] media: uvcvideo: Add sanity check to uvc_ioctl_xu_ctrl_map Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 073/153] clk: imx8mp: inform CCF of maximum frequency of clocks Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 074/153] x86/bugs: Make spectre user default depend on MITIGATION_SPECTRE_V2 Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 075/153] hwmon: (gpio-fan) Add missing mutex locks Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 076/153] ARM: at91: pm: fix at91_suspend_finish for ZQ calibration Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 077/153] drm/mediatek: mtk_dpi: Add checks for reg_h_fre_con existence Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 078/153] fpga: altera-cvp: Increase credit timeout Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 079/153] PCI: brcmstb: Expand inbound window size up to 64GB Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 080/153] PCI: brcmstb: Add a softdep to MIP MSI-X driver Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 081/153] firmware: arm_ffa: Set dma_mask for ffa devices Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 082/153] net/mlx5: Avoid report two health errors on same syndrome Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 083/153] selftests/net: have `gro.sh -t` return a correct exit code Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 084/153] drm/amdkfd: KFD release_work possible circular locking Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 085/153] net: xgene-v2: remove incorrect ACPI_PTR annotation Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 086/153] bonding: report duplicate MAC address in all situations Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 087/153] soc: ti: k3-socinfo: Do not use syscon helper to build regmap Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 088/153] x86/build: Fix broken copy command in genimage.sh when making isoimage Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 089/153] drm/amd/display: handle max_downscale_src_width fail check Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 090/153] drm/amd/display: fix dcn4x init failed Sasha Levin
2025-05-06 15:00   ` Alex Deucher
2025-05-20 14:06     ` Sasha Levin
2025-05-05 23:12 ` Sasha Levin [this message]
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 092/153] cpuidle: menu: Avoid discarding useful information Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 093/153] libbpf: Fix out-of-bound read Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 094/153] x86/kaslr: Reduce KASLR entropy on most x86 systems Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 095/153] MIPS: Use arch specific syscall name match function Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 096/153] MIPS: pm-cps: Use per-CPU variables as per-CPU, not per-core Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 097/153] clocksource: mips-gic-timer: Enable counter when CPUs start Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 098/153] scsi: mpt3sas: Send a diag reset if target reset fails Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 099/153] wifi: rtw88: Fix rtw_init_vht_cap() for RTL8814AU Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 100/153] wifi: rtw88: Fix rtw_init_ht_cap() " Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 101/153] wifi: rtw88: Fix rtw_desc_to_mcsrate() to handle MCS16-31 Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 102/153] net: pktgen: fix access outside of user given buffer in pktgen_thread_write() Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 103/153] EDAC/ie31200: work around false positive build warning Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 104/153] bpf: Prevent unsafe access to the sock fields in the BPF timestamping callback Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 105/153] RDMA/core: Fix best page size finding when it can cross SG entries Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 106/153] can: c_can: Use of_property_present() to test existence of DT property Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 107/153] eth: mlx4: don't try to complete XDP frames in netpoll Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 108/153] PCI: Fix old_size lower bound in calculate_iosize() too Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 109/153] ACPI: HED: Always initialize before evged Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 110/153] net/mlx5: Modify LSB bitmask in temperature event to include only the first bit Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 111/153] net/mlx5: Apply rate-limiting to high temperature warning Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 112/153] ASoC: ops: Enforce platform maximum on initial value Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 113/153] ASoC: tas2764: Power up/down amp on mute ops Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 114/153] ASoC: soc-dai: check return value at snd_soc_dai_set_tdm_slot() Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 115/153] pinctrl: devicetree: do not goto err when probing hogs in pinctrl_dt_to_map Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 116/153] smack: recognize ipv4 CIPSO w/o categories Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 117/153] media: v4l: Memset argument to 0 before calling get_mbus_config pad op Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 118/153] libbpf: fix LDX/STX/ST CO-RE relocation size adjustment logic Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 119/153] net/mlx4_core: Avoid impossible mlx4_db_alloc() order value Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 120/153] phy: core: don't require set_mode() callback for phy_get_mode() to work Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 121/153] drm/amdgpu: reset psp->cmd to NULL after releasing the buffer Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 122/153] drm/amd/display: Initial psr_version with correct setting Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 123/153] net/mlx5: Extend Ethtool loopback selftest to support non-linear SKB Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 124/153] net/mlx5e: set the tx_queue_len for pfifo_fast Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 125/153] net/mlx5e: reduce rep rxq depth to 256 for ECPF Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 126/153] wifi: mac80211: don't unconditionally call drv_mgd_complete_tx() Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 127/153] wifi: mac80211: remove misplaced drv_mgd_complete_tx() call Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 128/153] arch/powerpc/perf: Check the instruction type before creating sample with perf_mem_data_src Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 129/153] ip: fib_rules: Fetch net from fib_rule in fib[46]_rule_configure() Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 130/153] r8152: add vendor/device ID pair for Dell Alienware AW1022z Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 131/153] wifi: rtw88: Fix download_firmware_validate() for RTL8814AU Sasha Levin
2025-05-05 23:12 ` [PATCH AUTOSEL 5.15 132/153] clk: qcom: camcc-sm8250: Use clk_rcg2_shared_ops for some RCGs Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 133/153] exit: change the release_task() paths to call flush_sigqueue() lockless Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 134/153] hwmon: (xgene-hwmon) use appropriate type for the latency value Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 135/153] media: qcom: camss: csid: Only add TPG v4l2 ctrl if TPG hardware is available Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 136/153] vxlan: Annotate FDB data races Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 137/153] r8169: don't scan PHY addresses > 0 Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 138/153] net-sysfs: prevent uncleared queues from being re-added Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 139/153] rcu: handle quiescent states for PREEMPT_RCU=n, PREEMPT_COUNT=y Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 140/153] rcu: fix header guard for rcu_all_qs() Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 141/153] net/mana: fix warning in the writer of client oob Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 142/153] scsi: lpfc: Handle duplicate D_IDs in ndlp search-by D_ID routine Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 143/153] scsi: st: Restore some drive settings after reset Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 144/153] HID: usbkbd: Fix the bit shift number for LED_KANA Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 145/153] drm/ast: Find VBIOS mode from regular display size Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 146/153] bpftool: Fix readlink usage in get_fd_type Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 147/153] perf/amd/ibs: Fix perf_ibs_op.cnt_mask for CurCnt Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 148/153] wifi: rtw88: Don't use static local variable in rtw8822b_set_tx_power_index_by_rate Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 149/153] spi: zynqmp-gqspi: Always acknowledge interrupts Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 150/153] regulator: ad5398: Add device tree support Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 151/153] wifi: ath9k: return by of_get_mac_address Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 152/153] drm/atomic: clarify the rules around drm_atomic_state->allow_modeset Sasha Levin
2025-05-05 23:13 ` [PATCH AUTOSEL 5.15 153/153] drm: Add valid clones check Sasha Levin

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=20250505231320.2695319-91-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=bp@alien8.de \
    --cc=brgerst@gmail.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=kai.huang@intel.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=longman@redhat.com \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=riel@surriel.com \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox