[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <060b7c34-bce9-da78-f9cb-2e67dd2ee142@arm.com>
Date: Thu, 4 Jan 2018 17:04:01 +0000
From: Marc Zyngier <marc.zyngier@....com>
To: Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Will Deacon <will.deacon@....com>
Cc: linux-arm-kernel@...ts.infradead.org,
Catalin Marinas <catalin.marinas@....com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Christoffer Dall <christoffer.dall@...aro.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 08/11] arm64: KVM: Use per-CPU vector when BP hardening is
enabled
On 04/01/18 16:28, Ard Biesheuvel wrote:
> On 4 January 2018 at 15:08, Will Deacon <will.deacon@....com> wrote:
>> From: Marc Zyngier <marc.zyngier@....com>
>>
>> Now that we have per-CPU vectors, let's plug then in the KVM/arm64 code.
>>
>
> Why does bp hardening require per-cpu vectors?
The description is not 100% accurate. We have per *CPU type* vectors.
This stems from the following, slightly conflicting requirements:
- We have systems with more than one CPU type (think big-little)
- Different implementations require different BP hardening sequences
- The BP hardening sequence must be executed before doing any branch
The natural solution is to have one set of vectors per CPU type,
containing the BP hardening sequence for that particular implementation,
ending with a branch to the common code.
M.
--
Jazz is not dead. It just smells funny...
Powered by blists - more mailing lists