Message ID | 20220210224220.4076151-1-kaleshsingh@google.com (mailing list archive) |
---|---|
Headers | show |
Series | KVM: arm64: Hypervisor stack enhancements | expand |
On Thu, 10 Feb 2022 22:41:41 +0000, Kalesh Singh <kaleshsingh@google.com> wrote: > > This series is based on v5.17-rc3 and adds the following stack features to > the KVM nVHE hypervisor: > > == Hyp Stack Guard Pages == > > Based on the technique used by arm64 VMAP_STACK to detect overflow. > i.e. the stack is aligned to twice its size which ensure that the > 'stack shift' bit of any valid SP is 0. The 'stack shift' bit can be > tested in the exception entry to detect overflow without corrupting GPRs. Having quickly parsed the code, this seems to only be effective for pKVM and the EL2-allocated stack. Is there any technical reason not to implement this for the much more common case of 'classic' KVM in nVHE mode? Thanks, M.
On Mon, Feb 14, 2022 at 3:41 AM Marc Zyngier <maz@kernel.org> wrote: > > On Thu, 10 Feb 2022 22:41:41 +0000, > Kalesh Singh <kaleshsingh@google.com> wrote: > > > > This series is based on v5.17-rc3 and adds the following stack features to > > the KVM nVHE hypervisor: > > > > == Hyp Stack Guard Pages == > > > > Based on the technique used by arm64 VMAP_STACK to detect overflow. > > i.e. the stack is aligned to twice its size which ensure that the > > 'stack shift' bit of any valid SP is 0. The 'stack shift' bit can be > > tested in the exception entry to detect overflow without corrupting GPRs. > > Having quickly parsed the code, this seems to only be effective for > pKVM and the EL2-allocated stack. Is there any technical reason not to > implement this for the much more common case of 'classic' KVM in nVHE > mode? Hi Marc, No technical reason. We hadn't thought of it from that perspective. It's a good idea, I'll look into this and repost a new version. Thanks, Kalesh > > Thanks, > > M. > > -- > Without deviation from the norm, progress is not possible.