Re: [PATCH v3 27/32] KVM: arm64: Refactor stage2_map_set_prot_attr()
From: Will Deacon <will@kernel.org>
Date: 2021-03-04 20:05:22
Also in:
kvmarm, lkml
On Tue, Mar 02, 2021 at 02:59:57PM +0000, Quentin Perret wrote:
quoted hunk ↗ jump to hunk
In order to ease its re-use in other code paths, refactor stage2_map_set_prot_attr() to not depend on a stage2_map_data struct. No functional change intended. Signed-off-by: Quentin Perret <redacted> --- arch/arm64/kvm/hyp/pgtable.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-)diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c index 8e7059fcfd40..8aa01a9e2603 100644 --- a/arch/arm64/kvm/hyp/pgtable.c +++ b/arch/arm64/kvm/hyp/pgtable.c@@ -494,8 +494,7 @@ u64 kvm_get_vtcr(u64 mmfr0, u64 mmfr1, u32 phys_shift) return vtcr; } -static int stage2_map_set_prot_attr(enum kvm_pgtable_prot prot, - struct stage2_map_data *data) +static kvm_pte_t stage2_get_prot_attr(enum kvm_pgtable_prot prot) { bool device = prot & KVM_PGTABLE_PROT_DEVICE; kvm_pte_t attr = device ? PAGE_S2_MEMATTR(DEVICE_nGnRE) :@@ -504,15 +503,15 @@ static int stage2_map_set_prot_attr(enum kvm_pgtable_prot prot, if (prot & KVM_PGTABLE_PROT_NONE) { if (prot != KVM_PGTABLE_PROT_NONE) - return -EINVAL; + return 0;
Hmm, does the architecture actually say that having all these attributes as 0 is illegal? If not, I think it would be better to keep the int return code and replace the 'data' parameter with a pointer to a kvm_pte_t. Does that work? Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel