From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x2250AS1rG+AqnwRqAF/HGDHJK3CcBhPJGaFQtuWWH/tmRFxHZE6sx19VHrx08knK4lkQF7Jj ARC-Seal: i=1; a=rsa-sha256; t=1516647546; cv=none; d=google.com; s=arc-20160816; b=PLk+yfA+v3GmojWVbOpLR1LmjdTfhG6wvchssHZP8pdXMo2TlpCJzMkWJVSMzW/9ya 5PGQdAr/4hSTuj+/4wGX9cZAA16BjE9kS0lw9tzGNR+DLW1MU+T/UyhsBL6rMYvakZFe 6Q6UPIjRwI7FNqzfeq2J5zG398udEazR16MCChRmWJmcO7uxljInafhrXXQqWyAN0FsI r6N6wUcWQMAvsiW+B+c0NNVrIG3h23XezApu4eFfQihrrQaZnn7zSA+YtBgSCsR+XFZT j1ReJFdh4PTpAhuDRVplUzjKtPNxu/6OHjNnC32QJ+z8TC/gw5gMRasyMxk8OGOBDTWf kXIA== 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=ds9WCwyby5TbixXY6z/Sh/MvcUbpOMZPrnZSyp6XJL0=; b=DC1DNmbTK+XM4AONwO1CFzcpdEMjNEPwkjIQ9p74SUE1iMw7Sf5/l7byiJTmeLtn7/ 7ZsHmKHUPdoPTGpnngRUdIt5KbXuPrqO+2zaZxtbCmHWt1AgBA6CUY6nbNG+TBNNbWE5 /LCZhQFzvenJgE0WlnjaOLoLRQ/Xk78s28NyRV7Px4kH/9M97k5YbHyqQ+BTVj5Qr7uX hPF6ahHy4ESunf1lyv4o0LwP4FMmQ9acc1L5K1+ty8ayOb9sUexLIQkWVZPKA9lsMdrd coPkZ2UIdEllx+d4/6EOmFclzRhXzpk8fICncZOTKB38cLK2fjrLMKKTk0002zClf0XC L1Eg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=emqYjWUK; 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=emqYjWUK; 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 S1751433AbeAVS7F (ORCPT ); Mon, 22 Jan 2018 13:59:05 -0500 Received: from mail-qt0-f194.google.com ([209.85.216.194]:36885 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751341AbeAVSxL (ORCPT ); Mon, 22 Jan 2018 13:53:11 -0500 From: Ram Pai To: shuahkh@osg.samsung.com, linux-kselftest@vger.kernel.org Cc: mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org, linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, mingo@redhat.com, akpm@linux-foundation.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, arnd@arndb.de Subject: [PATCH v10 08/24] selftests/vm: clear the bits in shadow reg when a pkey is freed. Date: Mon, 22 Jan 2018 10:52:01 -0800 Message-Id: <1516647137-11174-9-git-send-email-linuxram@us.ibm.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1516647137-11174-1-git-send-email-linuxram@us.ibm.com> References: <1516647137-11174-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?1590320085994835403?= X-GMAIL-MSGID: =?utf-8?q?1590320217151761825?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: When a key is freed, the key is no more effective. Clear the bits corresponding to the pkey in the shadow register. Otherwise it will carry some spurious bits which can trigger false-positive asserts. Signed-off-by: Ram Pai --- tools/testing/selftests/vm/protection_keys.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c index ca54a95..aaf9f09 100644 --- a/tools/testing/selftests/vm/protection_keys.c +++ b/tools/testing/selftests/vm/protection_keys.c @@ -582,6 +582,9 @@ int alloc_pkey(void) int sys_pkey_free(unsigned long pkey) { int ret = syscall(SYS_pkey_free, pkey); + + if (!ret) + shadow_pkey_reg &= reset_bits(pkey, PKEY_DISABLE_ACCESS); dprintf1("%s(pkey=%ld) syscall ret: %d\n", __func__, pkey, ret); return ret; } -- 1.7.1