From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752090AbbLHSan (ORCPT ); Tue, 8 Dec 2015 13:30:43 -0500 Received: from www.sr71.net ([198.145.64.142]:51533 "EHLO blackbird.sr71.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751919AbbLHSal (ORCPT ); Tue, 8 Dec 2015 13:30:41 -0500 Subject: Re: [PATCH 16/34] x86, mm: simplify get_user_pages() PTE bit handling To: Thomas Gleixner References: <20151204011424.8A36E365@viggo.jf.intel.com> <20151204011446.DDC6435F@viggo.jf.intel.com> Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, dave.hansen@linux.intel.com From: Dave Hansen Message-ID: <566721CE.1060800@sr71.net> Date: Tue, 8 Dec 2015 10:30:38 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/08/2015 10:01 AM, Thomas Gleixner wrote: > static inline int pte_allows_gup(unsigned long pteval, int write) > { > unsigned long mask = _PAGE_PRESENT|_PAGE_USER; > > if (write) > mask |= _PAGE_RW; > > if ((pteval & mask) != mask) > return 0; > > if (!__pkru_allows_pkey(pte_flags_pkey(pteval), write)) > return 0; > return 1; > } > > and at the callsites do: > > if (pte_allows_gup(pte_val(pte, write)) > > if (pte_allows_gup(pmd_val(pmd, write)) > > if (pte_allows_gup(pud_val(pud, write)) > > Hmm? Looks fine to me. I'll do that. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f180.google.com (mail-pf0-f180.google.com [209.85.192.180]) by kanga.kvack.org (Postfix) with ESMTP id AED826B025C for ; Tue, 8 Dec 2015 13:30:40 -0500 (EST) Received: by pfu207 with SMTP id 207so15965048pfu.2 for ; Tue, 08 Dec 2015 10:30:40 -0800 (PST) Received: from blackbird.sr71.net (www.sr71.net. [198.145.64.142]) by mx.google.com with ESMTP id uo3si6624804pac.221.2015.12.08.10.30.40 for ; Tue, 08 Dec 2015 10:30:40 -0800 (PST) Subject: Re: [PATCH 16/34] x86, mm: simplify get_user_pages() PTE bit handling References: <20151204011424.8A36E365@viggo.jf.intel.com> <20151204011446.DDC6435F@viggo.jf.intel.com> From: Dave Hansen Message-ID: <566721CE.1060800@sr71.net> Date: Tue, 8 Dec 2015 10:30:38 -0800 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Thomas Gleixner Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, dave.hansen@linux.intel.com On 12/08/2015 10:01 AM, Thomas Gleixner wrote: > static inline int pte_allows_gup(unsigned long pteval, int write) > { > unsigned long mask = _PAGE_PRESENT|_PAGE_USER; > > if (write) > mask |= _PAGE_RW; > > if ((pteval & mask) != mask) > return 0; > > if (!__pkru_allows_pkey(pte_flags_pkey(pteval), write)) > return 0; > return 1; > } > > and at the callsites do: > > if (pte_allows_gup(pte_val(pte, write)) > > if (pte_allows_gup(pmd_val(pmd, write)) > > if (pte_allows_gup(pud_val(pud, write)) > > Hmm? Looks fine to me. I'll do that. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org