{"id":795961,"url":"http://patchwork.ozlabs.org/api/patches/795961/?format=json","web_url":"http://patchwork.ozlabs.org/project/kvm-ppc/patch/1501537199-19233-1-git-send-email-linuxram@us.ibm.com/","project":{"id":23,"url":"http://patchwork.ozlabs.org/api/projects/23/?format=json","name":"KVM PowerPC development","link_name":"kvm-ppc","list_id":"kvm-ppc.vger.kernel.org","list_email":"kvm-ppc@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1501537199-19233-1-git-send-email-linuxram@us.ibm.com>","list_archive_url":null,"date":"2017-07-31T21:39:59","name":"kvmppc: protection keys fix","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"e543940c72ee434101ccd67ab25c3dfbdac756f0","submitter":{"id":2667,"url":"http://patchwork.ozlabs.org/api/people/2667/?format=json","name":"Ram Pai","email":"linuxram@us.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/kvm-ppc/patch/1501537199-19233-1-git-send-email-linuxram@us.ibm.com/mbox/","series":[],"comments":"http://patchwork.ozlabs.org/api/patches/795961/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/795961/checks/","tags":{},"related":[],"headers":{"Return-Path":"<kvm-ppc-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=kvm-ppc-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"ONkV1iPH\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xLtD757Kwz9s0g\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  1 Aug 2017 07:40:39 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751114AbdGaVki (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tMon, 31 Jul 2017 17:40:38 -0400","from mail-qt0-f195.google.com ([209.85.216.195]:36987 \"EHLO\n\tmail-qt0-f195.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751113AbdGaVki (ORCPT\n\t<rfc822;kvm-ppc@vger.kernel.org>); Mon, 31 Jul 2017 17:40:38 -0400","by mail-qt0-f195.google.com with SMTP id d10so18342703qtb.4\n\tfor <kvm-ppc@vger.kernel.org>; Mon, 31 Jul 2017 14:40:37 -0700 (PDT)","from localhost.localdomain (50-39-103-96.bvtn.or.frontiernet.net.\n\t[50.39.103.96]) by smtp.gmail.com with ESMTPSA id\n\tt1sm3962425qkb.91.2017.07.31.14.40.35\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 31 Jul 2017 14:40:36 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=sender:from:to:cc:subject:date:message-id;\n\tbh=JYY2f8MoGw69R9qMioTHD17jualpZTKAvn/blND+EBY=;\n\tb=ONkV1iPHSe6YD1bR+dVyrcKKR6iWLzqQFHRvj/4wopKJvdUM0VnWg1OaP3Y7WUQKpt\n\tosmobMh1xbQgGh18HLLspvp3XvHapab659hp1JMKhFOLq5uw57O0VK777fHye7+isnq6\n\trsb/sL52f01ttx+Z+MHHmc98TLdhy7QxfxJdURnCzE0Yz+N8YCkM5XKHoVrdXjBml2OT\n\tfWjGFjKtCVbypZlK8eoHqZ9Tv08ybXpOlILVB1lCYFWkz0Y2ocTO9xUBlDTZmTHVFdJK\n\t6kpOiUCtK/uAV+q2X/Zg9AQmTBLSu1PUKkYpjkPZo4Z1fPF7X7sBQeJeBLFxv3wWswog\n\tc+YQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:from:to:cc:subject:date:message-id;\n\tbh=JYY2f8MoGw69R9qMioTHD17jualpZTKAvn/blND+EBY=;\n\tb=izma6KR70Lo+4CD3fwOD6s5Z7CcV4AH/Jg0toKoXSs2f+bSGAm7z+O/mV1xxWiNoSJ\n\tqO4vWvZ11KWk/lsT6UXOjAhYipP8CBOu1vVkO9PYDQZmwkRFzGil7+sJGdNUaWiKB9JP\n\tjAOb6I55qn0+hSPcKUJKYnRad4Mqbu60zyiOv3YEtrorKjKCViEmNZBfwSFfBZcnJ+vp\n\t2Uf3BkHo6QeUuim9AkfR1Lq93G8BZ4em8Jmkgds5E4m8Co64HcCmEEaIHCTdPafwadGK\n\tHYHePLXBHtG7wGKDYuWoSDumRxTtcQbMjAxmV7HUa3wrrTS/tQivtum2HIGu9+KE4rg0\n\tfopw==","X-Gm-Message-State":"AIVw110ZpCfrHhP3XlNM644HSuw7as1dSDA+z4spYywVqWLvTEbQZDe3\n\tgLZ1anCxGUUSoZha","X-Received":"by 10.200.52.212 with SMTP id x20mr25301781qtb.53.1501537237279; \n\tMon, 31 Jul 2017 14:40:37 -0700 (PDT)","From":"Ram Pai <linuxram@us.ibm.com>","To":"kvm-ppc@vger.kernel.org","Cc":"benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au,\n\tkhandual@linux.vnet.ibm.com, aneesh.kumar@linux.vnet.ibm.com,\n\tbsingharora@gmail.com, hbabu@us.ibm.com, linuxram@us.ibm.com,\n\tbauerman@linux.vnet.ibm.com","Subject":"[PATCH] kvmppc: protection keys fix","Date":"Mon, 31 Jul 2017 14:39:59 -0700","Message-Id":"<1501537199-19233-1-git-send-email-linuxram@us.ibm.com>","X-Mailer":"git-send-email 1.7.1","Sender":"kvm-ppc-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<kvm-ppc.vger.kernel.org>","X-Mailing-List":"kvm-ppc@vger.kernel.org"},"content":"kvmppc_do_h_enter() hcall, clobbers the high-order two bits of\nthe protection key, in the lower pte (ptel).  Any  pkey number\nabove 7, hence fails to operate correctly.\n\nThe following patch, preserves the pkey bits.\n\nAcked-by: Balbir Singh <bsingharora@gmail.com>\nReviewed-by: Paul Mackerras <paulus@ozlabs.org>\nSigned-off-by: Ram Pai <linuxram@us.ibm.com>\n---\n arch/powerpc/include/asm/book3s/64/mmu-hash.h | 1 +\n arch/powerpc/kvm/book3s_hv_rm_mmu.c           | 2 +-\n 2 files changed, 2 insertions(+), 1 deletion(-)","diff":"diff --git a/arch/powerpc/include/asm/book3s/64/mmu-hash.h b/arch/powerpc/include/asm/book3s/64/mmu-hash.h\nindex 6981a52..5c6b18a 100644\n--- a/arch/powerpc/include/asm/book3s/64/mmu-hash.h\n+++ b/arch/powerpc/include/asm/book3s/64/mmu-hash.h\n@@ -104,6 +104,7 @@\n #define HPTE_R_C\t\tASM_CONST(0x0000000000000080)\n #define HPTE_R_R\t\tASM_CONST(0x0000000000000100)\n #define HPTE_R_KEY_LO\t\tASM_CONST(0x0000000000000e00)\n+#define HPTE_R_KEY\t\t(HPTE_R_KEY_LO | HPTE_R_KEY_HI)\n \n #define HPTE_V_1TB_SEG\t\tASM_CONST(0x4000000000000000)\n #define HPTE_V_VRMA_MASK\tASM_CONST(0x4001ffffff000000)\ndiff --git a/arch/powerpc/kvm/book3s_hv_rm_mmu.c b/arch/powerpc/kvm/book3s_hv_rm_mmu.c\nindex ce6f212..d9462ab 100644\n--- a/arch/powerpc/kvm/book3s_hv_rm_mmu.c\n+++ b/arch/powerpc/kvm/book3s_hv_rm_mmu.c\n@@ -268,7 +268,7 @@ long kvmppc_do_h_enter(struct kvm *kvm, unsigned long flags,\n \tif (!realmode)\n \t\tlocal_irq_restore(irq_flags);\n \n-\tptel &= ~(HPTE_R_PP0 - psize);\n+\tptel &= HPTE_R_KEY | HPTE_R_PP0 | (psize-1);\n \tptel |= pa;\n \n \tif (pa)\n","prefixes":[]}