On 28 September 2026 18:55:34 BST, Zack Rusin <[email protected]> wrote: >A VMware guest may have no persistent storage or working userspace after >a crash. Preserve its newest kernel log tail in the host's vmware.log >before entering kdump, without enabling every panic notifier by default. > >Following Petr's suggestion, add one generic panic_pre_kdump_list with >VMware as its first client. A set-once helper covers panic() and direct >crash-kexec entry. Fatal oopses can reach kdump without calling panic(), >so patch 2 adds that call after capturing the original registers under >the existing kexec lock. The late panic call follows sys_info() and >precedes the kmsg dumpers. > >Patch 3 adds Guilherme's suggested escape hatch for debugging kdump >failures involving early callbacks. With panic_pre_kdump_postpone set, >the list runs before kdump only when crash_kexec_post_notifiers is also >set. This can omit hypervisor crash handling as well as diagnostics. >The late panic call remains eligible. This policy is a separate patch; >I can omit patch 3 if it is not wanted. > >The logger preallocates an 8 KiB buffer and bounds its register-based >RPC transfer and retries. Michael suggested increasing the buffer >because 4 KiB can omit useful stack-trace context. Ordinary guests >enable logging by default; encrypted guests must opt in. Use >bool/proc_dobool for the sysctl as Joel requested. The potentially >terminating REPORTGUESTCRASH event remains a separate late dumper, >suppressed whenever a crash image is loaded. The v1 assignment to >crash_kexec_post_notifiers is dropped. > >Tested on VMware Workstation and ESXi with ordinary guests, and on >ESXi with SEV-SNP and TDX guests. > >v1: >https://lore.kernel.org/r/[email protected] > >Zack Rusin (6): > panic: Add a notifier chain for pre-kdump callbacks > crash: Notify pre-kdump callbacks before switching kernels > panic: Allow postponing pre-kdump notifiers > x86/vmware: Add a bounded pre-kdump log sender > x86/vmware: Add the vmware_record_panic_msg sysctl > x86/vmware: Report guest crashes after kmsg dumpers > > .../admin-guide/kernel-parameters.txt | 14 + > Documentation/admin-guide/sysctl/kernel.rst | 20 ++ > arch/x86/include/asm/vmware.h | 2 + > arch/x86/kernel/cpu/vmware.c | 250 ++++++++++++++++++ > include/linux/panic_notifier.h | 4 + > kernel/crash_core.c | 3 + > kernel/panic.c | 28 ++ > 7 files changed, 321 insertions(+) >
All the panic changes and crash_core changes looks good to me! Reviewed-by: Bradley Morgan <[email protected]> Tested basic panic calls with Power10, in courtesy of osuosl: Tested-by: Bradley Morgan <[email protected]> # Power10 > >base-commit: fd73f4a6659897191fa0d40695fe370925dd3780 > > >From mboxrd@z Thu Jan 1 00:00:00 1970 >Received: from mail-pj1-f100.google.com (mail-pj1-f100.google.com >[209.85.216.100]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83AF64E3243 > for <[email protected]>; Mon, 28 Sep 2026 17:56:08 +0000 (UTC) >Authentication-Results: smtp.subspace.kernel.org; arc=none >smtp.client-ip=209.85.216.100 >ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1790618169; cv=none; > b=b4BojE7kyzKnMqCq3yQBsgTjfamCuHeSPBiM3mTeE4v6X5jd8GsgUy8HFjfb6vnu2FsurVAocpFTMaJi8sVvzC7bBtKNDJpFDvZCNqdO4XHY7wznbp2hC1z0LbTBYGMbRHtCk4LvgNFrpWDHzU9DrGZf+1d8PQJtrrUWMR3fWB8= >ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1790618169; c=relaxed/simple; > bh=qHuvSTbzKTQ99mPQxhPgubTCtOl/pceEwTRUqIC9LiU=; > h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; > b=FTXEgGo9/aZOjjBWf/3/aJE9bzE1CX9s/OSrb2hi9L/KTuxvuIv8F7B18Mj6GgYbZIaXobZhtwozeHdFf9pWY4NmLIXIxMlQiB06cvRkp4UYghm/h3KZ3r3B3EPB6W4Zm/qFIUpvsrOcMQBhLX0ulM1Nh7jAkRnR5+Dr4TccEps= >ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass >(p=reject dis=none) header.from=broadcom.com; spf=fail >smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com >[email protected] header.b=AMSyqTvg; arc=none >smtp.client-ip=209.85.216.100 >Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject >dis=none) header.from=broadcom.com >Authentication-Results: smtp.subspace.kernel.org; spf=fail >smtp.mailfrom=broadcom.com >Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (1024-bit key) header.d=broadcom.com [email protected] > header.b="AMSyqTvg" >Received: by mail-pj1-f100.google.com with SMTP id >98e67ed59e1d1-39647aa9d52so87593a91.0 > for <[email protected]>; Mon, 28 Sep 2026 10:56:08 -0700 (PDT) >X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20260707; t=1790618168; x=1791222968; > h=content-transfer-encoding:mime-version:message-id:date:subject:cc > :to:from:dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to:content-type; > bh=KmmJxySPwG38CbqK+KUDBFApZhpWarF4JpRDp51PqIc=; > b=Jpd/MIj5ewElR34jOfbzVz6y0phWWOuuetH2AMAqSfkw9wo88gnxd8iiGSrwGXb/K8 > LxiFGW7Gk1/qfXeNKTtiT3pDkujiBk8rYb2hZ9gxVSorRYSYgPAO2EL16XTvbxLgG6YK > 3FeqkS0hVSU1tdYNfgmZnbEIc2b/RyU4JI14RYidz/e/0W5GCoeMbf3A5MEjESY87AVb > Nmwd7ohydW1mz6nApfHFyC6Dnyk8weLtbSVES1jsgb3+ivuTwzujcnvHLoxLcTveo38M > /QCQT4LKda0z3bTRNmSUIPrz9XLziXq3W4D3R+fZgS7Ae1bSJihAy/CQ8TsXISh1sea3 > /Y5g== >X-Forwarded-Encrypted: i=1; >AKwUvBz1cco3gfH83tEf5iTZWgGV7lvOGVAz8sAyGJ4O8VTok46+5cEwqveCnVBIA8QHt65rA8D83p9YKyk=@vger.kernel.org >X-Gm-Message-State: AFq9FYJJ9fgQVETjiY5fbRpzunCNQ3yHlKk8Ilzj81eoAlnuoS+Dn0Ka > > McHcsKEBsXysl0ErYrd3UsPTH5PvX2dq9oZLqcmv4M1H2ZZYdezUd/B+B5ApLoXVYyVqwwaKkn1 > > WhxVmBuVCVdWdMiAn3Vi6H3YMgDwkYBQIrAbekUmKYvA8WvWr8eMC191fp1XiUxJ6rhpIfeSsVp > > NTAsl3Yon3avlK5XQfKHI5gtnaNCTFriKugUOmHPEPXyu8F41SwzaOR5uWzC+zjBz4Vodbmgspr > ROsqbvKBTG0 >X-Gm-Gg: AYBFou2P8ZN7jxBSC+9O6FmDIlcBFoArokAtaD0KOTfPh/dbNfovO55NTXigG/qTx0i > > zW8kFxJ9y8047OYcs7z6GR/iFk/FwAFBB5zgqFHnosJpMNBIX2v+4Kwpu9gjKkmULOJP4mIajIu > > dJfq/+pAXglXwFTJ+9jxVi8wPktojt/Kb99zzSZdC2pJZ1qGv0VNdQR3aD5YFUJSBFcy3BkabjL > > sk1IZGxFfeKEGoAO9jrL5qKeIm3f6Ql5otkpaV9x52hh1iOyQ0Xd1UFFrUB+dYPtR6W5bYD0hSO > > 5TbTBiupR7Fk/TU3eH1D3LCTwxJdUmWXGODfhDogaAZUtfuQraIYelR1Lue5OSP5fGKHMw5FPyo > > iFEAWZ+eQ1MJmXkr4N/LcVUr5vNjYToRFimPtfJQ430PQig2taOVcTvxn7B2m7O6JMTg8qajAW3 > a/HyZmBnzcwByWASw8uS+bX2LuCwxtV9OO >X-Received: by 2002:a17:90b:28c6:b0:3a0:34a4:187e with SMTP id >98e67ed59e1d1-3a49c120f78mr7983a91.15.1790618167517; > Mon, 28 Sep 2026 10:56:07 -0700 (PDT) >Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com >(address-144-49-247-18.dlp.protect.broadcom.com. [144.49.247.18]) > by smtp-relay.gmail.com with ESMTPS id > 98e67ed59e1d1-3a498e35c74sm34226a91.3.2026.09.28.10.56.00 > for <[email protected]> > (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); > Mon, 28 Sep 2026 10:56:07 -0700 (PDT) >X-Relaying-Domain: broadcom.com >X-CFilter-Loop: Reflected >Received: by mail-dy1-f200.google.com with SMTP id >5a478bee46e88-3282d5302ffso156936eec.1 > for <[email protected]>; Mon, 28 Sep 2026 10:56:00 -0700 (PDT) >DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=broadcom.com; s=google; t=1790618159; x=1791222959; > darn=vger.kernel.org; > h=content-transfer-encoding:mime-version:message-id:date:subject:cc > :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; > bh=KmmJxySPwG38CbqK+KUDBFApZhpWarF4JpRDp51PqIc=; > b=AMSyqTvg7YOAaOo4sIAY0pcRYwHSW0cH09GjKbqzO4apiMMUre94O+4j1U12+P2RKc > thNFz4BDgQu1JWPb2Prmfj0x/3+gp1f5TNhwJdRBccsEH9Kg8d61iKzddQPkLXzvvA2Y > czPVjFz5/L4SBh9PoEC0hHpQAKBZzbU0jsBOo= >X-Forwarded-Encrypted: i=1; >AKwUvBzwJDvlo2QB15OMSgAG9uvXCCuZffODLbFe+C46K/[email protected] >X-Received: by 2002:a05:7022:ff49:b0:13c:e1e2:fc86 with SMTP id >a92af1059eb24-14b2d993e47mr201594c88.4.1790618159182; > Mon, 28 Sep 2026 10:55:59 -0700 (PDT) >X-Received: by 2002:a05:7022:ff49:b0:13c:e1e2:fc86 with SMTP id >a92af1059eb24-14b2d993e47mr201547c88.4.1790618158548; > Mon, 28 Sep 2026 10:55:58 -0700 (PDT) >Received: from vertex.localdomain ([192.19.144.250]) > by smtp.gmail.com with ESMTPSA id > 5a478bee46e88-3421dbb2971sm26076069eec.10.2026.09.28.10.55.53 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Mon, 28 Sep 2026 10:55:57 -0700 (PDT) >From: Zack Rusin <[email protected]> >To: Andrew Morton <[email protected]>, > Petr Mladek <[email protected]>, > Baoquan He <[email protected]>, > Mike Rapoport <[email protected]>, > Pasha Tatashin <[email protected]>, > Pratyush Yadav <[email protected]>, > Dave Young <[email protected]> >Cc: Borislav Petkov <[email protected]>, > Ajay Kaher <[email protected]>, > Alexey Makhalov <[email protected]>, > [email protected], > Joel Granados <[email protected]>, > Thomas Gleixner <[email protected]>, > Ingo Molnar <[email protected]>, > Dave Hansen <[email protected]>, > "H. Peter Anvin" <[email protected]>, > [email protected], > [email protected], > [email protected], > John Ogness <[email protected]>, > Steven Rostedt <[email protected]>, > Sergey Senozhatsky <[email protected]>, > Kees Cook <[email protected]>, > Jonathan Corbet <[email protected]>, > Bo Gan <[email protected]>, > Brennan Lamoreaux <[email protected]>, > [email protected], > [email protected], > "Guilherme G. Piccoli" <[email protected]>, > Maaz Mombasawala <[email protected]>, > Shuah Khan <[email protected]>, > Randy Dunlap <[email protected]>, > Stephen Brennan <[email protected]>, > Michael Kelley <[email protected]>, > Ian Forbes <[email protected]> >Subject: [PATCH v2 0/6] panic, x86/vmware: Preserve crash logs before kdump >Date: Mon, 28 Sep 2026 13:55:34 -0400 >Message-ID: <[email protected]> >X-Mailer: git-send-email 2.53.0 >Precedence: bulk >X-Mailing-List: [email protected] >List-Id: <linux-doc.vger.kernel.org> >List-Subscribe: <mailto:[email protected]> >List-Unsubscribe: <mailto:[email protected]> >MIME-Version: 1.0 >Content-Transfer-Encoding: 8bit >X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e > >A VMware guest may have no persistent storage or working userspace after >a crash. Preserve its newest kernel log tail in the host's vmware.log >before entering kdump, without enabling every panic notifier by default. > >Following Petr's suggestion, add one generic panic_pre_kdump_list with >VMware as its first client. A set-once helper covers panic() and direct >crash-kexec entry. Fatal oopses can reach kdump without calling panic(), >so patch 2 adds that call after capturing the original registers under >the existing kexec lock. The late panic call follows sys_info() and >precedes the kmsg dumpers. > >Patch 3 adds Guilherme's suggested escape hatch for debugging kdump >failures involving early callbacks. With panic_pre_kdump_postpone set, >the list runs before kdump only when crash_kexec_post_notifiers is also >set. This can omit hypervisor crash handling as well as diagnostics. >The late panic call remains eligible. This policy is a separate patch; >I can omit patch 3 if it is not wanted. > >The logger preallocates an 8 KiB buffer and bounds its register-based >RPC transfer and retries. Michael suggested increasing the buffer >because 4 KiB can omit useful stack-trace context. Ordinary guests >enable logging by default; encrypted guests must opt in. Use >bool/proc_dobool for the sysctl as Joel requested. The potentially >terminating REPORTGUESTCRASH event remains a separate late dumper, >suppressed whenever a crash image is loaded. The v1 assignment to >crash_kexec_post_notifiers is dropped. > >Tested on VMware Workstation and ESXi with ordinary guests, and on >ESXi with SEV-SNP and TDX guests. > >v1: >https://lore.kernel.org/r/[email protected] > >Zack Rusin (6): > panic: Add a notifier chain for pre-kdump callbacks > crash: Notify pre-kdump callbacks before switching kernels > panic: Allow postponing pre-kdump notifiers > x86/vmware: Add a bounded pre-kdump log sender > x86/vmware: Add the vmware_record_panic_msg sysctl > x86/vmware: Report guest crashes after kmsg dumpers > > .../admin-guide/kernel-parameters.txt | 14 + > Documentation/admin-guide/sysctl/kernel.rst | 20 ++ > arch/x86/include/asm/vmware.h | 2 + > arch/x86/kernel/cpu/vmware.c | 250 ++++++++++++++++++ > include/linux/panic_notifier.h | 4 + > kernel/crash_core.c | 3 + > kernel/panic.c | 28 ++ > 7 files changed, 321 insertions(+) > > >base-commit: fd73f4a6659897191fa0d40695fe370925dd3780 > > --- Thanks! "I'm not a very positive person" - Linus torvalds

