From: Greg KH <gregkh@linuxfoundation.org>
To: Will Deacon <will@kernel.org>
Cc: stable@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
kvmarm@lists.linux.dev, Ard Biesheuvel <ardb@kernel.org>,
Lee Jones <lee@kernel.org>, Sasha Levin <sashal@kernel.org>,
Kenneth Van Alstyne <kvanals@kvanals.org>
Subject: Re: [STABLE 5.15.y] [PATCH] KVM: arm64: Fix softirq masking in FPSIMD register saving sequence
Date: Mon, 6 Oct 2025 12:00:02 +0200 [thread overview]
Message-ID: <2025100641-guileless-retainer-c885@gregkh> (raw)
In-Reply-To: <aOAZR0-4ZCq78DZ8@willie-the-truck>
On Fri, Oct 03, 2025 at 07:43:19PM +0100, Will Deacon wrote:
> On Fri, Oct 03, 2025 at 07:39:17PM +0100, Will Deacon wrote:
> > Stable commit 23249dade24e ("KVM: arm64: Fix kernel BUG() due to bad
> > backport of FPSIMD/SVE/SME fix") fixed a kernel BUG() caused by a bad
> > backport of upstream commit fbc7e61195e2 ("KVM: arm64: Unconditionally
> > save+flush host FPSIMD/SVE/SME state") by ensuring that softirqs are
> > disabled/enabled across the fpsimd register save operation.
> >
> > Unfortunately, although this fixes the original issue, it can now lead
> > to deadlock when re-enabling softirqs causes pending softirqs to be
> > handled with locks already held:
> >
> > | BUG: spinlock recursion on CPU#7, CPU 3/KVM/57616
> > | lock: 0xffff3045ef850240, .magic: dead4ead, .owner: CPU 3/KVM/57616, .owner_cpu: 7
> > | CPU: 7 PID: 57616 Comm: CPU 3/KVM Tainted: G O 6.1.152 #1
> > | Hardware name: SoftIron SoftIron Platform Mainboard/SoftIron Platform Mainboard, BIOS 1.31 May 11 2023
> > | Call trace:
> > | dump_backtrace+0xe4/0x110
> > | show_stack+0x20/0x30
> > | dump_stack_lvl+0x6c/0x88
> > | dump_stack+0x18/0x34
> > | spin_dump+0x98/0xac
> > | do_raw_spin_lock+0x70/0x128
> > | _raw_spin_lock+0x18/0x28
> > | raw_spin_rq_lock_nested+0x18/0x28
> > | update_blocked_averages+0x70/0x550
> > | run_rebalance_domains+0x50/0x70
> > | handle_softirqs+0x198/0x328
> > | __do_softirq+0x1c/0x28
> > | ____do_softirq+0x18/0x28
> > | call_on_irq_stack+0x30/0x48
> > | do_softirq_own_stack+0x24/0x30
> > | do_softirq+0x74/0x90
> > | __local_bh_enable_ip+0x64/0x80
> > | fpsimd_save_and_flush_cpu_state+0x5c/0x68
> > | kvm_arch_vcpu_put_fp+0x4c/0x88
> > | kvm_arch_vcpu_put+0x28/0x88
> > | kvm_sched_out+0x38/0x58
> > | __schedule+0x55c/0x6c8
> > | schedule+0x60/0xa8
> >
> > Take a tiny step towards the upstream fix in 9b19700e623f ("arm64:
> > fpsimd: Drop unneeded 'busy' flag") by additionally disabling hardirqs
> > while saving the fpsimd registers.
> >
> > Cc: Ard Biesheuvel <ardb@kernel.org>
> > Cc: Lee Jones <lee@kernel.org>
> > Cc: Sasha Levin <sashal@kernel.org>
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org
>
> Sorry, Greg, I lost a stray '>' here ^^^ and so you didn't end up on CC
> for this one.
No worries, I see the stuff going to stable@vger.kernel.org as well :)
Now all queued up, thanks for these.
greg k-h
next prev parent reply other threads:[~2025-10-06 10:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-03 18:39 [STABLE 5.15.y] [PATCH] KVM: arm64: Fix softirq masking in FPSIMD register saving sequence Will Deacon
2025-10-03 18:43 ` Will Deacon
2025-10-05 14:56 ` Ard Biesheuvel
2025-10-06 10:00 ` Greg KH [this message]
2025-10-06 10:08 ` Patch "KVM: arm64: Fix softirq masking in FPSIMD register saving sequence" has been added to the 5.15-stable tree gregkh
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=2025100641-guileless-retainer-c885@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=ardb@kernel.org \
--cc=kvanals@kvanals.org \
--cc=kvmarm@lists.linux.dev \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=will@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.