From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: ACJfBovczCTUbrbkZ43Sn8rpg1C23dmDqczT/JDntIqm6q5HGdwd+18JjOHAsIrxZVwZsIu57ArX ARC-Seal: i=1; a=rsa-sha256; t=1516326875; cv=none; d=google.com; s=arc-20160816; b=cRYcXaYzoiroch+tQ9fDnt78jYDs/JWvWFGxXtrbdTytaJ9/QPA5sp3F4KLMo5skRe tenYobzyiOFHQHuqrl4BbShKGbozgGRtvOygSVf+4HFxbqbqQz0J6rQiNyfGYEKVdp3m EwhwF9o65urfTNLpS1hL5toPOQjPsJdoNUzMmzmudhv6UdN2fIZJCvnOOtLcuudqoITq KxLjJTYeMu07brfjiLNVlXL4xKa1H8mQq7yMC5bApR/ZOcg3RwsiuG2tGkLg3SraEi7w wg7PtWXDmJN39PIx9piJpvfHs5oVn1BUKWYi75KmOF4JlxdIeqn7xQlB1WThZzNIshuI PF5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=yNW/cZAkPVbm1SatojvBiotDrmcMXkodEyZyElsZ4fs=; b=LLbcclai88gv++h7YEtHqRw4rhkdHyDKwuxeNkiLmquHc+d4WWmpOLxit//TupM+MT Lwqd64/kmuEKyUO8zBI5aZd1E/RbfMRWECFmgQswhSZ1Sd8Zef++n8arJIOjQLW6QCFg pWtqPJwFhLrjyJ6r9TKPw+1ZjOMTAB9bMbD7HZfG9Yfp/A4QXxZKNL6HAl5q4q0zkzEO 3CSk3UTkvSTbV3IzR2Eual94prXdNyTorXEoK5xKiCJc7Mq28xr+I/8aoXfrq7lpPsNj vGYJX9iJp4dYi34z2Q3CIWzUPdlYC9CiaWDcQHBumixmOKg86l4V88dfVTnmhPR9Mwcu j9UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=ilUt9cKW; spf=pass (google.com: best guess record for domain of linux-kselftest-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kselftest-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=ilUt9cKW; spf=pass (google.com: best guess record for domain of linux-kselftest-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kselftest-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932389AbeASBye (ORCPT ); Thu, 18 Jan 2018 20:54:34 -0500 Received: from mail-qt0-f196.google.com ([209.85.216.196]:34937 "EHLO mail-qt0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755856AbeASBw7 (ORCPT ); Thu, 18 Jan 2018 20:52:59 -0500 From: Ram Pai To: mpe@ellerman.id.au, mingo@redhat.com, akpm@linux-foundation.org, corbet@lwn.net, arnd@arndb.de Cc: linuxppc-dev@lists.ozlabs.org, linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, dave.hansen@intel.com, benh@kernel.crashing.org, paulus@samba.org, khandual@linux.vnet.ibm.com, aneesh.kumar@linux.vnet.ibm.com, bsingharora@gmail.com, hbabu@us.ibm.com, mhocko@kernel.org, bauerman@linux.vnet.ibm.com, ebiederm@xmission.com, linuxram@us.ibm.com Subject: [PATCH v10 26/27] mm, x86 : introduce arch_pkeys_enabled() Date: Thu, 18 Jan 2018 17:50:47 -0800 Message-Id: <1516326648-22775-27-git-send-email-linuxram@us.ibm.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1516326648-22775-1-git-send-email-linuxram@us.ibm.com> References: <1516326648-22775-1-git-send-email-linuxram@us.ibm.com> Sender: linux-kselftest-owner@vger.kernel.org X-Mailing-List: linux-kselftest@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1589983969573507537?= X-GMAIL-MSGID: =?utf-8?q?1589983969573507537?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Arch neutral code needs to know if the architecture supports protection keys to display protection key in smaps. Hence introducing arch_pkeys_enabled(). This patch also provides x86 implementation for arch_pkeys_enabled(). Signed-off-by: Ram Pai --- arch/x86/include/asm/pkeys.h | 1 + arch/x86/kernel/fpu/xstate.c | 5 +++++ include/linux/pkeys.h | 5 +++++ 3 files changed, 11 insertions(+), 0 deletions(-) diff --git a/arch/x86/include/asm/pkeys.h b/arch/x86/include/asm/pkeys.h index a0ba1ff..f6c287b 100644 --- a/arch/x86/include/asm/pkeys.h +++ b/arch/x86/include/asm/pkeys.h @@ -6,6 +6,7 @@ extern int arch_set_user_pkey_access(struct task_struct *tsk, int pkey, unsigned long init_val); +extern bool arch_pkeys_enabled(void); /* * Try to dedicate one of the protection keys to be used as an diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c index 87a57b7..4f566e9 100644 --- a/arch/x86/kernel/fpu/xstate.c +++ b/arch/x86/kernel/fpu/xstate.c @@ -945,6 +945,11 @@ int arch_set_user_pkey_access(struct task_struct *tsk, int pkey, return 0; } + +bool arch_pkeys_enabled(void) +{ + return boot_cpu_has(X86_FEATURE_OSPKE); +} #endif /* ! CONFIG_ARCH_HAS_PKEYS */ /* diff --git a/include/linux/pkeys.h b/include/linux/pkeys.h index 0794ca7..3ca2e44 100644 --- a/include/linux/pkeys.h +++ b/include/linux/pkeys.h @@ -35,6 +35,11 @@ static inline int arch_set_user_pkey_access(struct task_struct *tsk, int pkey, return 0; } +static inline bool arch_pkeys_enabled(void) +{ + return false; +} + static inline void copy_init_pkru_to_fpregs(void) { } -- 1.7.1