[{"id":1789126,"web_url":"http://patchwork.ozlabs.org/comment/1789126/","msgid":"<20171018154831.50b2abcb@firefly.ozlabs.ibm.com>","date":"2017-10-18T04:48:31","subject":"Re: [PATCH 17/25] powerpc: helper to validate key-access\n\tpermissions of a pte","submitter":{"id":9347,"url":"http://patchwork.ozlabs.org/api/people/9347/","name":"Balbir Singh","email":"bsingharora@gmail.com"},"content":"On Fri,  8 Sep 2017 15:45:05 -0700\nRam Pai <linuxram@us.ibm.com> wrote:\n\n> helper function that checks if the read/write/execute is allowed\n> on the pte.\n> \n> Signed-off-by: Ram Pai <linuxram@us.ibm.com>\n> ---\n>  arch/powerpc/include/asm/book3s/64/pgtable.h |    4 +++\n>  arch/powerpc/include/asm/pkeys.h             |   12 +++++++++++\n>  arch/powerpc/mm/pkeys.c                      |   28 ++++++++++++++++++++++++++\n>  3 files changed, 44 insertions(+), 0 deletions(-)\n> \n> diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h\n> index 5935d4e..bd244b3 100644\n> --- a/arch/powerpc/include/asm/book3s/64/pgtable.h\n> +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h\n> @@ -492,6 +492,10 @@ static inline void write_uamor(u64 value)\n>  \tmtspr(SPRN_UAMOR, value);\n>  }\n>  \n> +#ifdef CONFIG_PPC64_MEMORY_PROTECTION_KEYS\n> +extern bool arch_pte_access_permitted(u64 pte, bool write, bool execute);\n> +#endif /* CONFIG_PPC64_MEMORY_PROTECTION_KEYS */\n> +\n>  #define __HAVE_ARCH_PTEP_GET_AND_CLEAR\n>  static inline pte_t ptep_get_and_clear(struct mm_struct *mm,\n>  \t\t\t\t       unsigned long addr, pte_t *ptep)\n> diff --git a/arch/powerpc/include/asm/pkeys.h b/arch/powerpc/include/asm/pkeys.h\n> index cd3924c..50522a0 100644\n> --- a/arch/powerpc/include/asm/pkeys.h\n> +++ b/arch/powerpc/include/asm/pkeys.h\n> @@ -80,6 +80,18 @@ static inline u64 pte_to_hpte_pkey_bits(u64 pteflags)\n>  \t\t((pteflags & H_PAGE_PKEY_BIT4) ? HPTE_R_KEY_BIT4 : 0x0UL));\n>  }\n>  \n> +static inline u16 pte_to_pkey_bits(u64 pteflags)\n> +{\n> +\tif (!pkey_inited)\n> +\t\treturn 0x0UL;\n> +\n> +\treturn (((pteflags & H_PAGE_PKEY_BIT0) ? 0x10 : 0x0UL) |\n> +\t\t((pteflags & H_PAGE_PKEY_BIT1) ? 0x8 : 0x0UL) |\n> +\t\t((pteflags & H_PAGE_PKEY_BIT2) ? 0x4 : 0x0UL) |\n> +\t\t((pteflags & H_PAGE_PKEY_BIT3) ? 0x2 : 0x0UL) |\n> +\t\t((pteflags & H_PAGE_PKEY_BIT4) ? 0x1 : 0x0UL));\n> +}\n> +\n>  #define ARCH_VM_PKEY_FLAGS (VM_PKEY_BIT0 | VM_PKEY_BIT1 | VM_PKEY_BIT2 | \\\n>  \t\t\t\tVM_PKEY_BIT3 | VM_PKEY_BIT4)\n>  #define AMR_BITS_PER_PKEY 2\n> diff --git a/arch/powerpc/mm/pkeys.c b/arch/powerpc/mm/pkeys.c\n> index fb1a76a..24589d9 100644\n> --- a/arch/powerpc/mm/pkeys.c\n> +++ b/arch/powerpc/mm/pkeys.c\n> @@ -292,3 +292,31 @@ int __arch_override_mprotect_pkey(struct vm_area_struct *vma, int prot,\n>  \t */\n>  \treturn vma_pkey(vma);\n>  }\n> +\n> +static bool pkey_access_permitted(int pkey, bool write, bool execute)\n> +{\n> +\tint pkey_shift;\n> +\tu64 amr;\n> +\n> +\tif (!pkey)\n> +\t\treturn true;\n\nWhy would we have pkey set to 0, it's reserved. Why do we return true?\n\n> +\n> +\tpkey_shift = pkeyshift(pkey);\n> +\tif (!(read_uamor() & (0x3UL << pkey_shift)))\n> +\t\treturn true;\n> +\n> +\tif (execute && !(read_iamr() & (IAMR_EX_BIT << pkey_shift)))\n> +\t\treturn true;\n> +\n> +\tamr = read_amr(); /* delay reading amr uptil absolutely needed*/\n> +\treturn ((!write && !(amr & (AMR_RD_BIT << pkey_shift))) ||\n> +\t\t(write &&  !(amr & (AMR_WR_BIT << pkey_shift))));\n> +}\n> +\n> +bool arch_pte_access_permitted(u64 pte, bool write, bool execute)\n> +{\n> +\tif (!pkey_inited)\n> +\t\treturn true;\n\nAgain, don't like the pkey_inited bits :)\n\n> +\treturn pkey_access_permitted(pte_to_pkey_bits(pte),\n> +\t\t\twrite, execute);\n> +}\n\nBalbir Singh","headers":{"Return-Path":"<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yH03j2y0Fz9t2d\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 18 Oct 2017 15:50:09 +1100 (AEDT)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3yH03j1VnMzDrJj\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 18 Oct 2017 15:50:09 +1100 (AEDT)","from mail-pf0-x244.google.com (mail-pf0-x244.google.com\n\t[IPv6:2607:f8b0:400e:c00::244])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3yH0243LXVzDrD6\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tWed, 18 Oct 2017 15:48:43 +1100 (AEDT)","by mail-pf0-x244.google.com with SMTP id b85so3020942pfj.13\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tTue, 17 Oct 2017 21:48:43 -0700 (PDT)","from firefly.ozlabs.ibm.com ([122.99.82.10])\n\tby smtp.gmail.com with ESMTPSA id\n\th22sm4699526pfi.64.2017.10.17.21.48.37\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tTue, 17 Oct 2017 21:48:41 -0700 (PDT)"],"Authentication-Results":["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=\"BftpA+n5\"; dkim-atps=neutral","lists.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=\"BftpA+n5\"; dkim-atps=neutral","ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gmail.com\n\t(client-ip=2607:f8b0:400e:c00::244; helo=mail-pf0-x244.google.com;\n\tenvelope-from=bsingharora@gmail.com; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"BftpA+n5\"; dkim-atps=neutral"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=date:from:to:cc:subject:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=4zvFwELGIUnXg/6ZCsgPPbpVJcwXxsGA82rxDLAv4ao=;\n\tb=BftpA+n5vxBIZw3ZRDWZZz1Wp0mtvyFCEv35MirCYnmnPgpcEb5/Z8z/27ZEU32e/O\n\t5yWJOloQddi2EN9UK9KL4qtjYSLOiLzYqah96slKerkcSl3kbbn4GOj0wMCtoRjscIF/\n\tKzeCntRvXEp8PBhsOCn6bqzQ2fRpIChjZ1LvE9qTasZleawVDRC+yoXdu5rDInvjdVK2\n\twiZFRBkKmqiDVGelwQ8MxjYm0JVc3ptJNKamnFbs5uibyAZBPZPn+obDW3LMuGm02A//\n\tQQRG0GA2zw6kiewKjWpTU3mcBNCdxE8z/Z4AnStLr4P+LteDg1+k3PNSJry78ZjuQT6b\n\tGwIw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=4zvFwELGIUnXg/6ZCsgPPbpVJcwXxsGA82rxDLAv4ao=;\n\tb=DH+d+SDJd6mFWdRxtjeebGVO4aDxyehzjYz+oZVD5AzUfLt5Ffv5+kYdnnHnXpvStH\n\ta2iqQLgU+1PW8/SWpAfikMm6JzMAMKdm6g8KVyhDhNQ1f2ETrEdWx03whuO8mM7N+Dq6\n\tqMtN+9OGWLpSZT2b+Lq4qNQqRSaLfp2wern+ZLhlJr9Y02urEg6wfCWcnv01+qAzFboc\n\tBsVh53rWV+XHBZ39kVl51oFHuUnYWgRWZ0IwkOddxX3o3lPt1Mygf6/NL+HliNbhV2if\n\tFZ3U6N6h4Enu+OllpmBywHmYJGjS/nWFua4i8EvpZ+OjtsdCDe0dk777pLzu5ERetGgh\n\tcwNw==","X-Gm-Message-State":"AMCzsaW7WoIHljvhSceKztDgtqztf7dzTe6knXvVlrSOx1t2e30T/lth\n\tiNtvKahTUbBkyoI/4ExSRAk=","X-Google-Smtp-Source":"ABhQp+T+t8LmayiI+0eVOeWlAs29YeqOn8Ky5wiRfumRygWBbvm6NzBG/FhNL/qamAvIKZWcgYAOZA==","X-Received":"by 10.84.132.98 with SMTP id 89mr10651159ple.98.1508302121771;\n\tTue, 17 Oct 2017 21:48:41 -0700 (PDT)","Date":"Wed, 18 Oct 2017 15:48:31 +1100","From":"Balbir Singh <bsingharora@gmail.com>","To":"Ram Pai <linuxram@us.ibm.com>","Subject":"Re: [PATCH 17/25] powerpc: helper to validate key-access\n\tpermissions of a pte","Message-ID":"<20171018154831.50b2abcb@firefly.ozlabs.ibm.com>","In-Reply-To":"<1504910713-7094-26-git-send-email-linuxram@us.ibm.com>","References":"<1504910713-7094-1-git-send-email-linuxram@us.ibm.com>\n\t<1504910713-7094-26-git-send-email-linuxram@us.ibm.com>","X-Mailer":"Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-redhat-linux-gnu)","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.24","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>","Cc":"ebiederm@xmission.com, mhocko@kernel.org, paulus@samba.org,\n\taneesh.kumar@linux.vnet.ibm.com, bauerman@linux.vnet.ibm.com,\n\tlinuxppc-dev@lists.ozlabs.org, khandual@linux.vnet.ibm.com","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org","Sender":"\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"}},{"id":1789977,"web_url":"http://patchwork.ozlabs.org/comment/1789977/","msgid":"<20171018211917.GK5617@ram.oc3035372033.ibm.com>","date":"2017-10-18T21:19:17","subject":"Re: [PATCH 17/25] powerpc: helper to validate key-access permissions\n\tof a pte","submitter":{"id":2667,"url":"http://patchwork.ozlabs.org/api/people/2667/","name":"Ram Pai","email":"linuxram@us.ibm.com"},"content":"On Wed, Oct 18, 2017 at 03:48:31PM +1100, Balbir Singh wrote:\n> On Fri,  8 Sep 2017 15:45:05 -0700\n> Ram Pai <linuxram@us.ibm.com> wrote:\n> \n> > helper function that checks if the read/write/execute is allowed\n> > on the pte.\n> > \n> > Signed-off-by: Ram Pai <linuxram@us.ibm.com>\n> > ---\n> >  arch/powerpc/include/asm/book3s/64/pgtable.h |    4 +++\n> >  arch/powerpc/include/asm/pkeys.h             |   12 +++++++++++\n> >  arch/powerpc/mm/pkeys.c                      |   28 ++++++++++++++++++++++++++\n> >  3 files changed, 44 insertions(+), 0 deletions(-)\n> > \n> > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h\n> > index 5935d4e..bd244b3 100644\n> > --- a/arch/powerpc/include/asm/book3s/64/pgtable.h\n> > +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h\n> > @@ -492,6 +492,10 @@ static inline void write_uamor(u64 value)\n> >  \tmtspr(SPRN_UAMOR, value);\n> >  }\n> >  \n> > +#ifdef CONFIG_PPC64_MEMORY_PROTECTION_KEYS\n> > +extern bool arch_pte_access_permitted(u64 pte, bool write, bool execute);\n> > +#endif /* CONFIG_PPC64_MEMORY_PROTECTION_KEYS */\n> > +\n> >  #define __HAVE_ARCH_PTEP_GET_AND_CLEAR\n> >  static inline pte_t ptep_get_and_clear(struct mm_struct *mm,\n> >  \t\t\t\t       unsigned long addr, pte_t *ptep)\n> > diff --git a/arch/powerpc/include/asm/pkeys.h b/arch/powerpc/include/asm/pkeys.h\n> > index cd3924c..50522a0 100644\n> > --- a/arch/powerpc/include/asm/pkeys.h\n> > +++ b/arch/powerpc/include/asm/pkeys.h\n> > @@ -80,6 +80,18 @@ static inline u64 pte_to_hpte_pkey_bits(u64 pteflags)\n> >  \t\t((pteflags & H_PAGE_PKEY_BIT4) ? HPTE_R_KEY_BIT4 : 0x0UL));\n> >  }\n> >  \n> > +static inline u16 pte_to_pkey_bits(u64 pteflags)\n> > +{\n> > +\tif (!pkey_inited)\n> > +\t\treturn 0x0UL;\n> > +\n> > +\treturn (((pteflags & H_PAGE_PKEY_BIT0) ? 0x10 : 0x0UL) |\n> > +\t\t((pteflags & H_PAGE_PKEY_BIT1) ? 0x8 : 0x0UL) |\n> > +\t\t((pteflags & H_PAGE_PKEY_BIT2) ? 0x4 : 0x0UL) |\n> > +\t\t((pteflags & H_PAGE_PKEY_BIT3) ? 0x2 : 0x0UL) |\n> > +\t\t((pteflags & H_PAGE_PKEY_BIT4) ? 0x1 : 0x0UL));\n> > +}\n> > +\n> >  #define ARCH_VM_PKEY_FLAGS (VM_PKEY_BIT0 | VM_PKEY_BIT1 | VM_PKEY_BIT2 | \\\n> >  \t\t\t\tVM_PKEY_BIT3 | VM_PKEY_BIT4)\n> >  #define AMR_BITS_PER_PKEY 2\n> > diff --git a/arch/powerpc/mm/pkeys.c b/arch/powerpc/mm/pkeys.c\n> > index fb1a76a..24589d9 100644\n> > --- a/arch/powerpc/mm/pkeys.c\n> > +++ b/arch/powerpc/mm/pkeys.c\n> > @@ -292,3 +292,31 @@ int __arch_override_mprotect_pkey(struct vm_area_struct *vma, int prot,\n> >  \t */\n> >  \treturn vma_pkey(vma);\n> >  }\n> > +\n> > +static bool pkey_access_permitted(int pkey, bool write, bool execute)\n> > +{\n> > +\tint pkey_shift;\n> > +\tu64 amr;\n> > +\n> > +\tif (!pkey)\n> > +\t\treturn true;\n> \n> Why would we have pkey set to 0, it's reserved. Why do we return true?\n\npkey 0 is reserved in some weird sense. it is the default key which is\nomnipresent, which cannot be allocated or freed, but can be used any time and\nallows read/write/execute at all times.\n\n> \n> > +\n> > +\tpkey_shift = pkeyshift(pkey);\n> > +\tif (!(read_uamor() & (0x3UL << pkey_shift)))\n> > +\t\treturn true;\n> > +\n> > +\tif (execute && !(read_iamr() & (IAMR_EX_BIT << pkey_shift)))\n> > +\t\treturn true;\n> > +\n> > +\tamr = read_amr(); /* delay reading amr uptil absolutely needed*/\n> > +\treturn ((!write && !(amr & (AMR_RD_BIT << pkey_shift))) ||\n> > +\t\t(write &&  !(amr & (AMR_WR_BIT << pkey_shift))));\n> > +}\n> > +\n> > +bool arch_pte_access_permitted(u64 pte, bool write, bool execute)\n> > +{\n> > +\tif (!pkey_inited)\n> > +\t\treturn true;\n> \n> Again, don't like the pkey_inited bits :)\n\nsuggest something. :) running out of ideas ;)\n\n> \n> > +\treturn pkey_access_permitted(pte_to_pkey_bits(pte),\n> > +\t\t\twrite, execute);\n> > +}\n> \n> Balbir Singh","headers":{"Return-Path":"<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yHQ2b1pvcz9t7D\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 19 Oct 2017 08:20:39 +1100 (AEDT)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3yHQ2Z2qSRzDqmQ\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 19 Oct 2017 08:20:38 +1100 (AEDT)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n\t[148.163.156.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3yHQ1D6Sl4zDqJ7\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tThu, 19 Oct 2017 08:19:28 +1100 (AEDT)","from pps.filterd (m0098409.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv9ILIuB8004873\n\tfor <linuxppc-dev@lists.ozlabs.org>; Wed, 18 Oct 2017 17:19:26 -0400","from e16.ny.us.ibm.com (e16.ny.us.ibm.com [129.33.205.206])\n\tby mx0a-001b2d01.pphosted.com with ESMTP id 2dp9p5150k-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <linuxppc-dev@lists.ozlabs.org>; Wed, 18 Oct 2017 17:19:26 -0400","from localhost\n\tby e16.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <linuxppc-dev@lists.ozlabs.org> from <linuxram@us.ibm.com>;\n\tWed, 18 Oct 2017 17:19:25 -0400","from b01cxnp23033.gho.pok.ibm.com (9.57.198.28)\n\tby e16.ny.us.ibm.com (146.89.104.203) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tWed, 18 Oct 2017 17:19:22 -0400","from b01ledav004.gho.pok.ibm.com (b01ledav004.gho.pok.ibm.com\n\t[9.57.199.109])\n\tby b01cxnp23033.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP\n\tid v9ILJLcs2752852; Wed, 18 Oct 2017 21:19:21 GMT","from b01ledav004.gho.pok.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id DEC53112051;\n\tWed, 18 Oct 2017 17:18:53 -0400 (EDT)","from ram.oc3035372033.ibm.com (unknown [9.85.176.245])\n\tby b01ledav004.gho.pok.ibm.com (Postfix) with ESMTPS id B0BB0112034; \n\tWed, 18 Oct 2017 17:18:52 -0400 (EDT)"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=us.ibm.com\n\t(client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n\tenvelope-from=linuxram@us.ibm.com; receiver=<UNKNOWN>)","Date":"Wed, 18 Oct 2017 14:19:17 -0700","From":"Ram Pai <linuxram@us.ibm.com>","To":"Balbir Singh <bsingharora@gmail.com>","Subject":"Re: [PATCH 17/25] powerpc: helper to validate key-access permissions\n\tof a pte","References":"<1504910713-7094-1-git-send-email-linuxram@us.ibm.com>\n\t<1504910713-7094-26-git-send-email-linuxram@us.ibm.com>\n\t<20171018154831.50b2abcb@firefly.ozlabs.ibm.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20171018154831.50b2abcb@firefly.ozlabs.ibm.com>","User-Agent":"Mutt/1.5.20 (2009-12-10)","X-TM-AS-GCONF":"00","x-cbid":"17101821-0024-0000-0000-000002E4AE1E","X-IBM-SpamModules-Scores":"","X-IBM-SpamModules-Versions":"BY=3.00007916; HX=3.00000241; KW=3.00000007;\n\tPH=3.00000004; SC=3.00000237; SDB=6.00933069; UDB=6.00469937;\n\tIPR=6.00713359; \n\tBA=6.00005648; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009;\n\tZB=6.00000000; \n\tZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00017597;\n\tXFM=3.00000015; UTC=2017-10-18 21:19:24","X-IBM-AV-DETECTION":"SAVI=unused REMOTE=unused XFE=unused","x-cbparentid":"17101821-0025-0000-0000-000045C5B2D7","Message-Id":"<20171018211917.GK5617@ram.oc3035372033.ibm.com>","X-Proofpoint-Virus-Version":"vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-10-18_08:, , signatures=0","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=0\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000\n\tdefinitions=main-1710180296","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.24","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>","Reply-To":"Ram Pai <linuxram@us.ibm.com>","Cc":"ebiederm@xmission.com, mhocko@kernel.org, paulus@samba.org,\n\taneesh.kumar@linux.vnet.ibm.com, bauerman@linux.vnet.ibm.com,\n\tlinuxppc-dev@lists.ozlabs.org, khandual@linux.vnet.ibm.com","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org","Sender":"\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"}}]