From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89258C6FD19 for ; Tue, 14 Mar 2023 00:25:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ADBD46B0072; Mon, 13 Mar 2023 20:25:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A8BDC6B0074; Mon, 13 Mar 2023 20:25:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 97A4D6B0075; Mon, 13 Mar 2023 20:25:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 884756B0072 for ; Mon, 13 Mar 2023 20:25:06 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5C91C41151 for ; Tue, 14 Mar 2023 00:25:06 +0000 (UTC) X-FDA: 80565609012.05.ACF8B48 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by imf28.hostedemail.com (Postfix) with ESMTP id 177E7C000B for ; Tue, 14 Mar 2023 00:25:02 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=RoCT2NAb; spf=pass (imf28.hostedemail.com: domain of dave.hansen@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678753504; a=rsa-sha256; cv=none; b=oQO3MqN2eGmgAfzDWD84tiTHjsVuJh1LFyUIRHz4B1cyyyDqYFy/XOjpzSXQdnENRt3+7C 5AUOKCdWHKoPFU6guZevOxF4ugEd9r1x5I61TclyoH/0shzdXo02HND6L1GnacqaMjakCk mmsmHXqC+O23f6t9IsD0LphIgMxkasE= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=RoCT2NAb; spf=pass (imf28.hostedemail.com: domain of dave.hansen@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678753504; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=y9uouQf/IIbGvmQ7ZO4uq0PNg0UMp80ZHTQuNHF0mTk=; b=H49KTVzpQJGV7TMljUKl9w3QQ0EJE8Q3f3eib5RVVenM4+/58u1ICZT8H5LTdkE4QPgue2 tf4omRfFcEkXYFpeyKV2rlqA1zkZ4FK+enJlwQBrGsVJfnfKVv32JhLBeWZnmwNCFXd8e0 aQaP38mcGmQ6EhLJ968Nf5JMbMoTzc0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678753503; x=1710289503; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=YYMzT1eh6dYKZKG57zgSV8FmwvT90PWN/LBKPv493fE=; b=RoCT2NAbuNl+T/SVP99h66VoijoZaX6C67kfO/IlMtFBaMQPAjVusVSy lbesgHkQXfS0PHrqT0rygSFm9QvaySjqq/q7K5BWhzZmyh4dz8La//AWw F86F44EySontxrFKHbjaGyiLB7jb4Yhq78J2L8ZAyDpG7jJ1g9smz7m46 Od2c7g8vkBDj51m00MOZJ6NCRP65+EjsvuuRxcUQSqHPzB0QMo/uzJfZa RQGRYiwq+Uz0MS4zpmP5DAA3WW89RBTw1bfoHzTBn93bgeQccKT17pplw Lzfv+/DnLE3xKyBNamQBES9gxXNGRWVjFyO7G5fZ5O7mqTDJu4TdJS0iI w==; X-IronPort-AV: E=McAfee;i="6500,9779,10648"; a="364954909" X-IronPort-AV: E=Sophos;i="5.98,258,1673942400"; d="scan'208";a="364954909" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Mar 2023 17:25:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10648"; a="656146771" X-IronPort-AV: E=Sophos;i="5.98,258,1673942400"; d="scan'208";a="656146771" Received: from rahulmur-mobl3.amr.corp.intel.com (HELO [10.212.195.84]) ([10.212.195.84]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Mar 2023 17:25:00 -0700 Message-ID: Date: Mon, 13 Mar 2023 17:24:59 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: x86/pkeys in early kernel version Content-Language: en-US To: Jeff Xu , Kyle Huey Cc: linux-mm@kvack.org, =?UTF-8?Q?Stephen_R=c3=b6ttger?= , "tglx@linutronix.de" , Jorge Lucangeli Obes , Kees Cook , Guenter Roeck References: From: Dave Hansen In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: 177E7C000B X-Rspamd-Server: rspam01 X-Stat-Signature: teugqd3hxwdeyjcpy3dt4ogmwhu6ez6b X-HE-Tag: 1678753502-307613 X-HE-Meta: U2FsdGVkX18a06Www3rtvxEEYzksRLyhJqcUouhSe0CHD3qe27cjjVjDxc0OkSxhfFG1RIrPqVvkO80m4iBCoNcJrWhzVqj+n0AK+iIWbv8RDNooGSIHAIMWk8gFmwbqnPzkggclaEIAWuIH8/ewdL1wyccRBQEHaVup0LxvNJsjVq9X7jnvIqzsPMetBKjbaKT/WAtHQbSrSI2z9Harj2v8sXczLsYYqZSZk1Jfj2hSsQ9I/fYURMgDZfP0/PtC2SorCIIPs58Crwa7VtDumpgqDUV5r5y21YKVobPfpiJgx9/PGhTE0QVrKY2y+/Q7F3WXPUP7Pgl48xALfrkeCqRN0Tahmp72AECobh0TYruoGvNZ65D/f86G0HS+WR+0ElUnGPwky3Yt6tSS6VIqzzpru+ms0YXjJmRcbp9bDG8haUhWTE8MZOkgxW5e7bxJ6DA58+Mza5tdagZo6Pw8UGGzf6Srd8ObAssf/l8UM4DHxevPVC1LBKYahzrq/UVFzmkTLA9Xus8Cph4Te51buND9hwkNg0KGRd4Yg/I/cXxnnEYFozvA1s0GWs4dgTBFsEOKYbWgfCgcKiqs0leOaqZHR6af66ipAqRYg3mXtW5M3b9FrAfD26iQMD6ZPDMuKKGMM8d3KE8Jnf6Y7RA3mS7Z9jk+Oa0B8gHwzA9FsMwX1GD9p84fZQPLN6hizmi1vQwrCMCpixmCrdZEGOszYarHIcDIrL9eFOvzLDIxCNdtYQsL0i+mtKzUsjy/zLXU+IMbdEjDxgLXGlEh5jMGav6MGQJ/YVzn23p0Vk7nO3LabcDrYxv0A9c4Zr8uB8R4/vXh4baOZnvMMtPsFcByca3VeCDR1AXURtsc4l3U124A1s07kQC/bxUNKpJsIsUcHIEnZ3BBwXbzhUdPK0S85IKKqffPKdOobHXu9mHom5Urcjmng9aP2KMBEaCnoxhIZmlsEOzapGTvIegutCf IpkJ+ILO 26PAqNGW/C3lliIsJEd5RG04nwoaVXDH8BbdQYPsyIzBE5mDPaOWfVFkWAz3DrxhHQRQp2tXE54Jm0mnKPZtClnG5IFudyrbjyTo8wnQsJn0QPDoR9oxDHxJVHQHgyDI+LQEI/+onp60bL4sUFIkQOWtMuRO+cH0hDkMmp7Im73LG5zC2HRXUeVibv+egL6ioM4pGii2m6sRY22k= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 3/13/23 16:24, Jeff Xu wrote: > I have another case of test_ptrace_modifier_pkru failure. > This is happening in AMD 5000 CPU and 5.15.98 kernel. > The odd thing about this is: > if I run the whole set of protection_keys (20 cases), it will pass. > If I run the last case (by comment out the others), it will fail with > below error: > > has pkeys: 1 > startup pkey_reg: 0000000055555550 > assert() at protection_keys.c::1623 test_nr: 0 iteration: 1 > running abort_hooks()... > errno at assert: 0 > > And the same test on Intel CPU is passing. > > I wonder if this is known or someone has a repro ? > > Another question regarding PKRU, may or maynot related to this failure on AMD: > During the thread context switch, will PKRU be saved to the thread's > user space stack? Is this what XSAVE does (pre-5.14), and if we are > not using XSAVE after 5.15, what is used ? One Intel vs. AMD delta that I seem to recall is their init trackers. On Intel, the only "normal" way to get an XSAVE component back to being tracked as in its init state is with XRSTOR and the right incantations of XSTATE_BV and RFBM. On AMD, I think the init tracker is much more magic and aggressive. In addition to a careful XRSTOR, WRPKRU(0) _can_ put the PKRU state component back to being tracked as being in its init state. Also an XRSTOR with a PKRU value of 0 can do it. Basically, on AMD the register state matters for init tracking. On Intel, the actual register contents are not taken into account. It might be interesting to dump xgetbv(1) around the failures to see what's going on with the init tracker.