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 40B3BC433F5 for ; Tue, 1 Feb 2022 22:05:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AEEB06B0072; Tue, 1 Feb 2022 17:05:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A9E836B0073; Tue, 1 Feb 2022 17:05:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F12D8D0077; Tue, 1 Feb 2022 17:05:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0174.hostedemail.com [216.40.44.174]) by kanga.kvack.org (Postfix) with ESMTP id 7BE016B0072 for ; Tue, 1 Feb 2022 17:05:33 -0500 (EST) Received: from smtpin05.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 3D67118259C2B for ; Tue, 1 Feb 2022 22:05:33 +0000 (UTC) X-FDA: 79095593346.05.84E5D60 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf29.hostedemail.com (Postfix) with ESMTP id 8626E120008 for ; Tue, 1 Feb 2022 22:05:32 +0000 (UTC) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 211KTNhG022156; Tue, 1 Feb 2022 22:04:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=5fCmEoo5dik5gx/dMrnfZ7ZcBTpxB1OtrgTHmoCQ0mw=; b=EPw9j2TY97fwTs8yyEtJaCtoCPR1HIpNlsG7rirkzFW/hTx7KZ1MTqx3KsQWqYpgg3ND j8wGh1T5YUdKP2r2BEXIyGIpJpMaTm+OhkJXLCOQkm7e4plFj2IO3oldlBQR/S2Ub2eZ 01/U6XI39ukPFLflfw9od/keT2dBavUiYO/xgyv4XvRlWyOWzXC37D1a4K5z3JbEWAyG sfUzSsk1kit268eMBXE1OMls3RHHdsY99hLWMPs1uMPMCZbOTc7gpTzRMCR/LyolUrAG aXerE3S3aQCy8N8f3Owj8usDsT1o1vXcKOSvWBYtYkIHTCZzBzNKKJMLZzAK8wh+wb1z Cw== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxnk2ksf6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 22:04:37 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 211LtZRD106721; Tue, 1 Feb 2022 22:04:36 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2177.outbound.protection.outlook.com [104.47.57.177]) by userp3020.oracle.com with ESMTP id 3dvy1quy4p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 22:04:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZrT/FQRAiJXYNz0v8MdB/ELAQTCf6Iey+YVRc3vs6Z1ARsWZfvZsixafg6nACb965MYrkJ782noTVKcMowXX0tL2JkYxayZYjTxYajG8ECpWB7bFG3W+V88IujAS8bodICdardid616olJU6HrUSWBBg2VxWtIkpm083STsjpZGpWSd4RHB8na5JIYrVaC8jLXDfrQqyuVTiDFy7DJz5UqHX+CzfyVSbiQcS8YMiYTpabKcImEzgKRSYEy5+K2VuNRJKRTGkSJHQxszB4MsP1SDl473sVZBDZ6W0gSDFZabby9nRKdTqffkv+Ut4oXboM9d2XX7AEaYdu8ffalY5mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5fCmEoo5dik5gx/dMrnfZ7ZcBTpxB1OtrgTHmoCQ0mw=; b=Ai+oJ4wKGltOGv/LuDEtd3ew6n4swQgxdDH6dYWCb8r1VlKNy1psmEz26vnmRjqSKfkA8adf4HQ+WdFAxbJhZje0pL14ehnKXyalfe2o6bwV2RtLel5Lqfz7dihgwiLxQOaYCL/XY83Xn2Rdz8cLtDupQzyhhIRFHNj975evfhsRBbUCGO/Si43oYCR+xsmc3pOUqLFpo4YttrNggg8bwrZllbT1YzPKRruazOZkbT/IeZantCr9cG4cBUNU/IfppkLKoW1A3gM8RJ9j3YZHA1b05bCDS++0kHZ2No883sBplxBhJEQVtn/NeF4CkF6wwzn8LLfexP3y7xibPEUITg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5fCmEoo5dik5gx/dMrnfZ7ZcBTpxB1OtrgTHmoCQ0mw=; b=wpJd7ZNbtOZJtNY6vD7smICPxpcI1R5lBV8MBQwqSqyLvDFEFOhXxafYa/NiNolEoa1RDMSSrmuX3CNl0Q151QtEAUrujexs+wklXd0dXanwNNt9dMOQXwR+VPd6Cc1zd5XUXdmsyZztG70EGwObKfFYTdZ3gWysMNAsH8kgtws= Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by MWHPR10MB1503.namprd10.prod.outlook.com (2603:10b6:300:22::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Tue, 1 Feb 2022 22:04:34 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::4910:964a:4156:242a]) by BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::4910:964a:4156:242a%4]) with mapi id 15.20.4951.012; Tue, 1 Feb 2022 22:04:34 +0000 Message-ID: <1a034e3d-3119-2947-843d-f9699af0d03a@oracle.com> Date: Tue, 1 Feb 2022 22:04:25 +0000 Subject: Re: [RFC] Missing compound_head() in memory-failure Content-Language: en-US To: Jane Chu , Matthew Wilcox Cc: Naoya Horiguchi , "linux-mm@kvack.org" , Andrew Morton , Dan Williams References: <30a327fd-ae49-7412-ef77-9ec19480626e@oracle.com> <4786a41f-9048-e255-d48b-3922dd576255@oracle.com> From: Joao Martins In-Reply-To: <4786a41f-9048-e255-d48b-3922dd576255@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AM4P190CA0005.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::15) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 653d5e7e-b209-45a5-7b84-08d9e5ced429 X-MS-TrafficTypeDiagnostic: MWHPR10MB1503:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FKDwtt4AXNeUNgxavD0m1cfcHmp3FwaSv5Rb7BW2cdSziYtuDFU137qyN46d91TunpGmZZRBaHFOJI3CgxNOO2X1l9SU9oHpY7j9sXfQ/WMDStDFKu5RftW8AQqn201qHQmFrKgt1H9sE2c/mSwBMNAkSphdQDsC9BzedAOwps6X/wP+pBqxuOV29CABge1ZGnvmEpbZA6ZnWCQzxTxLbuXC4IUib+6VZbZKKkPSdI7pKvTlyuIEdyYNjlYcgBdM3eo7G3bYXuNeselz1tU3paJiXA0KgOaMKBQU+liREcP9doFvvsHpW+kh2VRgQvpiVeYYpe9ZO0mOqz8Pdz28FS7As9/ZP9cOZQnzZ01s3TRmM6hPBgbsKjXSkrNqz5SyiZhSWLQN/bEr86sSPXYXwU0MF4he5AWc1YVYURMCdnYu4F0Xy/1IX/kBjY3rBWKg3mu3UQ19guP0dLEO/QjwkdhOnS2Xpjem26sFFHvJlM0UiDQYbYt3WXu/waX3QWWfuu7IUebMt0gHDZ6osFwYqlJvxY6NbP+lb4vimCVT9YnOgm5/Ycc1Dx2AY6p3kugae7q4TahlW6Cf9MZ8b/Xfymj86Xy4iWbCxsG4vs3jpDjvbptMB5qE4tqUUZEF8CKxsSzsUK+jtdLxExiyZroj7+MUMK5IOhuV8WnPwp4O0UtD58ISpG3jDUK1dvNiVAru8LCwiwnpJnKWFB6jVa5FMHQpVLgIiEp30r1GK95Ni8szWV+U5BGPJiHh9nvgrxGMdWPjFwPKBoMVXKK6IDHDGFCvCJ27JiOK3NTDgev/r7U= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB4835.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6506007)(6512007)(2616005)(5660300002)(2906002)(53546011)(26005)(186003)(83380400001)(316002)(6486002)(31696002)(66476007)(86362001)(38100700002)(31686004)(8936002)(6666004)(110136005)(54906003)(508600001)(966005)(8676002)(4326008)(66946007)(66556008)(36756003)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YVFuRDhrZkhoRXdCV3UweHUxS05wVUpjYy83bDdZM2pWMmlHNTZnd1dvclVQ?= =?utf-8?B?MjZaMGxNNWpzcjRvRjRMdk9KVTNGTzJyYUI3d3djQUhaZy81cThYN3FuenV0?= =?utf-8?B?M1B6ME1xZExkZzVROWJQc29GWENITkp3RWQ0ek00Mm1hNnlYZEJmdTlCdjU4?= =?utf-8?B?NU1XVm55WDVOSTd1ZTJCN1JUWkJqVUwwak1OQnBBbE4yV3djSHFkWTJqWHdp?= =?utf-8?B?WmVyekowWFJIdDJrclpiRjE2VjdJcW5IakZ2VlZteG93OEFudW03UHNQSFlQ?= =?utf-8?B?WGVwN0dyMEpBalkxMzZtUnhSRUx6b1ZNeHhhYkQ5czZpR2Zzc3pmRy8wMWp0?= =?utf-8?B?emZSb0tWREltZXlhQVRZdDU4b2V2QUR5ZXFvVE1JMk1GQTBMU2g3S0RNSUJn?= =?utf-8?B?WU1pdnk5bnptQVpBVUNaMU5GeTdCNDVsQjk5Z3NYblJWQlBzUVNtY1plMGNl?= =?utf-8?B?TGpPYlE0ckNiTG9DaXgyU2laTjhjT0xxQzI4b1lSdllvY1A5U2JxQlhvamRY?= =?utf-8?B?SGxlb0NGRGE5dDhaTzVreEZRUU0vUXhWWndOcENYOVlNOS9BYjBwN2J6eURL?= =?utf-8?B?RGZ1d3I2b0lteGxqYm9MbEpsdXFKaXNvSnBibGhwcFNJTDg0eWVVVktiN3Zr?= =?utf-8?B?NU1ib0VPSmxycGxNajI1U3pqbVhlck9Wd2F0VU1OTHpNZ2JjQWxwWUs1Q3Fk?= =?utf-8?B?eXpndGVGNE5KVjFNR2MzYTBObXhyOWk1aDRpSFVhVTJyWSs4emtZYzFaMS9j?= =?utf-8?B?RVVKRnBQNjRrcEp1TFlQb0Fldko4cWRsQnZ2TER5eG5oTlBJUHF6NXliby9S?= =?utf-8?B?VnZVMXE1TDAzRUlPalhyaDVraFRaRG5UMFpjR2tlejQwRDgxaXJMdUhlKzY3?= =?utf-8?B?ZnJ6aTRxUld5eU5JY21DRUZPZnk0M1NWaU1UQWdSS0krLzNob2hwcVZXdmVZ?= =?utf-8?B?MDZGQjE3eXdhd2tZR2F1TVV2aTNwazRYUGs3S3FrRno1eGtDb1RRR2laQ2dQ?= =?utf-8?B?dEdKRUVLS0M2TnNtZjRLL3RUSnNCelhLTjZaVVUwdUVKRkhiMkJjbW9ZRXdG?= =?utf-8?B?bVRLS2hFTk5wUlNtK0N0YmMvbzBZNGxZRjNROFFvUnlTL3VuVWZ2UlNDQUY0?= =?utf-8?B?L3dnaW9OcEMrWDAyekhlamlhQ0d4QUs4eFAzZ0NiUDY0Wk5kVjZBcjdYdTM1?= =?utf-8?B?WXZFYTNObldBQmdoWGtGLzVRdkRWWGU3ZHBZdUlmTVJ5a0ZGNU1lSTFCZUxQ?= =?utf-8?B?S1B5MzBaVE4rNExTRUFoWkh5ekxSeEI2UTlDRi9ZL1Y1K3k3eWYyV241M0J5?= =?utf-8?B?N3RId1VUL3lzL2FlM05LTFRSd1hKdU00eEVXTmJRMnR4SVYzYkhYNjJBZDF5?= =?utf-8?B?bEtrYUtZbWJvOFljT3JFbk5uUmJBNkhCdWtHc2xmTit1OWczVHVtOWVlUnF3?= =?utf-8?B?eWtVUUJ0T0NkWkVxWmdqNzV6VmVRbXVhM2xOdW9VL1lhV0VidGdtbTkyeUtH?= =?utf-8?B?bi9LTTJrM0YzNFM3QWFLeVRueDVHVFFNaktIOEk1dG54TWFPbUJBY2F3WWZU?= =?utf-8?B?QjloZVFMZU5pWkZjN3NIdnNkNGRzSldaQ1UyYTV0M0JmT1hMZE1RUnVUcFRh?= =?utf-8?B?cjJCRTFTbWkxY0FuVStoU3N4OWxuNGM0eGsyMnNPR1V5bWcvcDRlNThia05H?= =?utf-8?B?Y0c2ZEY4YUs4d2xYWVhIcFUreHYzSGx1cnZaTFdrK0k4bW1zWDhacTFKZm1L?= =?utf-8?B?ai9qa2Y1enRsVVBxSmNWbzJoWlBYYk9WVUJGRmdxUUE5d2JBamc1bVRISkR6?= =?utf-8?B?OWpySllUY2FsL1NEVnlIb2VuMWVqeUI0MFAxREJxVjF0VHdYUHdoc3E2TXRK?= =?utf-8?B?dGRFc3lubkt1U05WKzU1cURzbWE5emNObHRqdVJ0ZEdzM0ViUWpHdFhvWGNB?= =?utf-8?B?YnAyMTlORDlFbTdoZCtVSlBVa2twNXNIczdtNE1NTUN3U2Z6MU9CN1ZuVmF0?= =?utf-8?B?ditPdXdyanZGRnRsdm93emNib2VZRTdKSkNwSnRza0ZYQU9wNUV0RG9pdWs5?= =?utf-8?B?VUxKOGFmK2JmRUxXL2V6Vk1zR1cyeUZtVURsdnI4MmhxRGJ6US9jK29OdjFo?= =?utf-8?B?QnhDWnlrTndMZ2pHdkVOa05yb1l0bWtpZlF1SE5Kd1ZSdUJBUDZLVHFNSUU1?= =?utf-8?B?UFJKY1ZYcUVnS1RQcnBQcHJjUWJ1Wkh6R3JINFJ2YmgvSmNraEIva1hFcVBI?= =?utf-8?B?NXUyNmlJb1hFKzEvVXFiaEkvUEZnPT0=?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 653d5e7e-b209-45a5-7b84-08d9e5ced429 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 22:04:33.9365 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pORQgPWITNMn/EgK+f/67FZlWT49KoxjXtCoKC2M/bQsZ9+fuojPnzAq/e2bvV6++zNfua7jQ7dx0i2H/hMcbiTOmPUIZIs+vYtOyCLZKcw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR10MB1503 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10245 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 spamscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202010120 X-Proofpoint-GUID: nXn3_lV8FrqrYjGc6QCnNsrzKqGjSIiT X-Proofpoint-ORIG-GUID: nXn3_lV8FrqrYjGc6QCnNsrzKqGjSIiT X-Rspam-User: nil X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 8626E120008 X-Stat-Signature: ic4nr3x5e11qagbw5arae1mdasyzz9q4 Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=EPw9j2TY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wpJd7ZNb; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf29.hostedemail.com: domain of joao.m.martins@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=joao.m.martins@oracle.com X-HE-Tag: 1643753132-100901 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 2/1/22 21:11, Jane Chu wrote: > On 2/1/2022 7:46 AM, Matthew Wilcox wrote: >> On Mon, Jan 31, 2022 at 08:54:39PM +0000, Joao Martins wrote: >>> On 1/31/22 20:29, Matthew Wilcox wrote: >>>> Unless I am mistaken, you have to pass the compound head of the page >>>> which has the error to collect_procs(). Am I mistaken? >>>> >>> -rc2 already has a fix for it: >>> >>> https://lore.kernel.org/linux-mm/20220129021420.PgBIZm-q9%25akpm@linux-foundation.org/ >>> >>> Earlier in that function there's a: >>> >>> page = compound_head(page); >>> >>> So the @page passed to collect_procs() already is a head page. >> >> It's wrong though ;-( You set the HWPoison bit on the page after >> calling compound_head(), so you set the bit on the head page instead >> of the precise page that had the poison. > > Indeed. The rest of the kernel including pmem driver still deal with > base page on clearing poison, bookkeeping etc. So the HWpoison bit needs > to be set precisely on the poisoned base page such that we pass the > correct 'pfn' to set_mce_nospec() to discourage speculative access. > set_mce_nospec() machinery makes no use of the HWPoison bit as far as my reading goes. And the PFN that is passed to set_mce_nospec() is already the subpage PFN that eventually lands on set_memory_np()/set_memory_uc() when it changes the kernel page tables mapping (which also don't use the poison bit). I still can't see how device-dax machinery makes use of that bit? At least the one which could use it (clear_mce_nospec()) doesn't actually go through device-dax nvdimm-specific code only fsdax which I reiterate that the patch does not change as there's no compound head there. Am I missing something? >> I'm fixing this up as part of the folio patches, but you may wish to >> fix it earlier than that. > > Thanks for the fix! As I had mentioned earlier I have one prepped, if this turns out to be indeed a problem. So far, I haven't spotted any on my testing since I started this work, but it could also be an oversight on my end. Joao