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 DD2F6C433EF for ; Wed, 6 Apr 2022 06:38:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 70A9E6B0072; Wed, 6 Apr 2022 02:38:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6BA348D0001; Wed, 6 Apr 2022 02:38:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 50CD66B0074; Wed, 6 Apr 2022 02:38:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.a.hostedemail.com [64.99.140.24]) by kanga.kvack.org (Postfix) with ESMTP id 40B696B0072 for ; Wed, 6 Apr 2022 02:38:35 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 04F862313C for ; Wed, 6 Apr 2022 06:38:24 +0000 (UTC) X-FDA: 79325500170.15.E1547BA Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf16.hostedemail.com (Postfix) with ESMTP id 6055918001C for ; Wed, 6 Apr 2022 06:38:24 +0000 (UTC) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 2366cBMY000849; Wed, 6 Apr 2022 06:38:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2021-07-09; bh=iNv1zDa+R03Z44EqqGR8mwFcwpSsEeHhGwlwlEY5Eds=; b=P7lbFwF149yWTOT6Apk+g9W0oHk9+79QbQJBCKHm66SF2RbqPL+QkFvBsKCN9+oTkY5A a63WygQ+FJTwOvLxkVb7plYnwLt2XqBcUK5WyehsmcIR8sJA//Ki7SFf4lrEORWy/I7Y nK+2AcKu7cZueIFp6uohC/3wwvZYDZYHYfylIoeJF4LetaMfTZD9cXmwX1Mnv5NDahPR JxCxkUKXYuALdsYlpcBll3lV3aRgpTMPxKag/ltdNq0He0S/1cAvQLQWXcyzVs0hKRsh W3stSiQUMUyJUVSPb9CSkfuyqxsgU/t5rH2xsbnvh9yr+vDXp3bDeIpiJNGPgk9ZAE8S mA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com with ESMTP id 3f6e3sqwp4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 06 Apr 2022 06:38:23 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 2366UpmS009093; Wed, 6 Apr 2022 06:38:22 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3f6cx484sr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 06 Apr 2022 06:38:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sm2dkRqt2fK4PvgoyI2ipr7gB08tf6ydNyldGug1dKWjOdAQpGzie4kUh/yi938H7HCwFsftV7pVfucTPPmtUTWEaxbu8PGSLxwT3cfeN4B7WafJugI1pX88QJlYdWx3S5uRegtVhNIxgYp2Kz04UfunEaIYQK+gz7VHjd6Tn1aVJg0DLBHWivb2838PGDGO9EiA8XE20vUvGQ9Y22kV0hrNY5oujGskvMzvZiEoOUpd1gpqDRkHX1d50eWTpaos+gOVnsNCWJ3NejMYYv89O8fo/4v2bFqjmuH/KPaNF4o6P/UHbgITh9mmF5zFy7ubHVq0WwnMgxWIsQWl4r2f/g== 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=iNv1zDa+R03Z44EqqGR8mwFcwpSsEeHhGwlwlEY5Eds=; b=flCuGzmOAa/+67TI6raGKmsjjA0ExCNH35K4roZW4bluPkXQf6b7cEKyT7/O39yZsM2GC6FLSIjInuQroQYmBKcKylywZx+zyfFYCKmJO/0U22ouGYPwCNfs2IpSOxg4llc8wzZEVv/p9i/cJbFbCD1X1fFec14pHB1ZwmrOWY3WCwCSW1ac0+eOWq39CU2GHphDqNuYYH+UYt0M3mAA2wo5PO0NKcKCi+sWf6myqFJP3V55ffAEYHkwHjz780TG4xbnC6YIWeP4/PKs5zkh1rNHtdn48UbcTdQx7Nh6f6c/AaK/raHCxg1sLq8DIgXeVC+YHPP8PuCxyyPxS2yazg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; 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=iNv1zDa+R03Z44EqqGR8mwFcwpSsEeHhGwlwlEY5Eds=; b=XWfba4lr9Ejo+py41IKNy7IRHAMwefMK90h+swPji2LStMOWD19SEKpE/0N2UVMvcVGyX05+gwBNlZbrjLOqRav8y9Q7IOoXVj1vxzFxM5GrtZPACKVCKv64ycLXyQGEq63O9tl6GIyCq+5//pzI142BpyDC2qQkCe4k5r25xes= Received: from MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) by SN6PR10MB2687.namprd10.prod.outlook.com (2603:10b6:805:49::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Wed, 6 Apr 2022 06:38:20 +0000 Received: from MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::b5d5:7b39:ca2d:1b87]) by MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::b5d5:7b39:ca2d:1b87%5]) with mapi id 15.20.5123.031; Wed, 6 Apr 2022 06:38:20 +0000 Date: Wed, 6 Apr 2022 09:38:09 +0300 From: Dan Carpenter To: naoya.horiguchi@nec.com Cc: linux-mm@kvack.org Subject: [bug report] mm/hwpoison: fix race between hugetlb free/demotion and memory_failure_hugetlb() Message-ID: <20220406063809.GA27775@kili> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-ClientProxiedBy: ZR0P278CA0123.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::20) To MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e36aec7c-6018-46c3-0aa8-08da17980a6f X-MS-TrafficTypeDiagnostic: SN6PR10MB2687:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1kq4hqd+BH86eQ8Q+kXF0pm6rZI1YL/1cPf2VsnCvbBe43j1GDZbm9fNqpTzwhqMloq2++sE2Sn35b+0SWPC14XiF2UDcy6Ju4/RRxuZfNlBklYQNt/N+HHETakiJbFBgPN/0NpEUazrBFQCY9kAFE6oVBR3cuD/jNcoHhQi3JbPFt5NxWh95pwK8Bl4uqCttOEtbNqADSex3h6oUP1bC3pzRvxLmD15/AcjfzJAett4/l5M7qVi13bH3EBPYWKcPaT1QS6CJY92GC3tPPkxPjy68cRlwWZ7p+n/8rUyCrgxHBd1+fEA8ixR3vlCwkFh8JAJUztoXEBbLzOc+fx65wuUYeJGtLxUGM8ISCLuOSdxrx8oDVLxuQKc3vtwHmMnRLf6fSWwuCQP1N7knjnxvhDbkZvb/EzwDmtXazRbJZOm+Eaa6/h+dp8Y/SGgil/3q8RKNFNXnGOtQ03AXjxoN+b64R0++yC97YFVuXNskbHsr7kjhpv8IUblY/3JREaybkXNFW1fgiRxu29CT2xKYMboBba9ghRogptxUnbZP4AuFAf8xnHCGI/s6C8cnOTJWZ08XVGg4im2yja7V2OsL1dDHNFWuM6NYWK8e78+buJ8Sypux1ghGZnRKB67bZt99MoGm/k7JmhZfSp7i5mvhInyWTCz0ynQgOfk7lWwNp8YLvmJcVPOXV9bx2Nd0TF4KyE2jD/B4uXmP2+nRRHWGQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(366004)(316002)(38100700002)(38350700002)(83380400001)(33716001)(86362001)(52116002)(6506007)(66946007)(66476007)(6486002)(66556008)(508600001)(6916009)(2906002)(9686003)(186003)(26005)(1076003)(6666004)(6512007)(44832011)(5660300002)(8676002)(8936002)(4326008)(33656002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mhyDrPXAILCtK/aMW3RpOby0M8uDhmCJRDmAgofyMLXjf+owvIAOFJW0KxzJ?= =?us-ascii?Q?DiRDTK6pGApDIVfq9Y9EwC/edxXZHxB4GBJZrQ07gvftGteLdvMBNUGgI5c5?= =?us-ascii?Q?KL02IYD0YT0ISKh0EOUN0w0DRa9+a4ojGjMoZQSZznbKhZWZybpXDKm32eqx?= =?us-ascii?Q?ldeJLIO10ql0CwCgTWNQBfyYpgRy5YMtViwCKlhimpW3wsgQe02RV02q8t/i?= =?us-ascii?Q?s+oNz44JeU0pFWqX3H+7K4oCrhYEfggqe5GawL+nFXo4f4mq7V0yzraz8IaM?= =?us-ascii?Q?sphI+ZvYKdWG9pjANHpW2syI3T15DUa2IWExGrsdPZ2DqtBJ/9br9Gun9Br3?= =?us-ascii?Q?KGNmAOM7JDSoqgaIa0O+/vmUSNz77L66hRFoDqlRKSZ3hi/VPs64FlGwEwWr?= =?us-ascii?Q?Fu3pUIXvOwmQ0oCOroK4/6USsl9B/vV0RLVzr4EsdUGmy3GEIlwI3ILGHsqM?= =?us-ascii?Q?3OzPeyMfWgQhdI1gpgwUmc4OagvXHuAEolsQVOZcYP8KLscG5RqDtlhSpR4w?= =?us-ascii?Q?y13piw+/i7BNjk91R4wcX4Om5JJUhhk9l4oL7REFpJtHiodfgwjxaP4n04/+?= =?us-ascii?Q?/D2cHBSdFLOvzBCd7Hjw4Arg1W60NRu7SeEMmTp+/NlKFXmaXF1trxlIZfGI?= =?us-ascii?Q?1mR57GJWqdoStFSCC6qKmxsmrRobE8zIgulI4Ac0OI762vuwGqDhMcEFHehF?= =?us-ascii?Q?haHOKlgzywrVWRkM/AMWlQy0mMJXiGecI7o4Dn11fYe8tOHkP03nWWyqFfto?= =?us-ascii?Q?L2t2C71FBRycnIu+0pDVRzXP8Ame3TYOnM0Z5jI8Eaxp2qiXPgIEyIVXM1Py?= =?us-ascii?Q?E8ZGazqARm94wugUIWHWrv69BuZgv8TSNoviRxGWiLbQDO/ClO/Ke/Fivoxa?= =?us-ascii?Q?TDJ2mMmn0oyOSGTCzji3xU154gq+l5v6zrwOoyR6X7Rfpt2+smsMcEAexbPf?= =?us-ascii?Q?UQJeAZhoYtT4aLbrpkt8yag3vvlcaI2O0N9RC09xok4bMpyA4IXus9/SpVun?= =?us-ascii?Q?3IdL/lonltiv58yDOHGV4SYOQJ5SERp+9OCrPQuo05qKA2JiurV9t33tWCvo?= =?us-ascii?Q?nGAxu8VGwpWUj96oFjYrhY1Y/U0vgkcFgUgyqqAte/ofnr02GdAPek5qRe8E?= =?us-ascii?Q?ngMnDcxjeQdhE6tCEGVanQ6MIREXqO4Lgvta+KG8vxGDIkoqxHgI+/AKc6yN?= =?us-ascii?Q?fgiKHsJQEXSwTVQXSJAzuYDumar60b2CJOttBT7kTDkOpXROl0fbg8yJgm1z?= =?us-ascii?Q?XdvHQ3GCVnjSArm/VFRiLkCGuUpdslT3iP/VHR2G5BIqUoT9CxWDJe1QVm9z?= =?us-ascii?Q?vSS7BNQZnqZ76ds352fWNOEf5+7wLLktBJ7IwYWJLJ5bAvpOCh3ZKit2tVVN?= =?us-ascii?Q?5spBWYgCSXXrEqoiKWf/iyAB50wqo/6k+vXmjAXoR22LlTSOOJjEaXnns5Ct?= =?us-ascii?Q?0UkhMef3UyeBW+k5dAKVK4MaEOmryw+dZykmNhpk+fvOsec5MMRtGfuqM77K?= =?us-ascii?Q?9J5fRieZHtWIMs442R+P/+6bcTRwgSlY3m6B0qHU9mucaHbiwCxhjnrCXcod?= =?us-ascii?Q?JgF/s2StuRXP6HDY9lXiSm94gCr8hT1H92v6xO5mNs+7M8pBggKT20ijkdWA?= =?us-ascii?Q?Y8SxP/gX0Xi3ONLbF4vjiY3NZorXZ2tn75laTHTp9Re1sm5/SSouo6v/6/SU?= =?us-ascii?Q?U/dfWhbYYY20FO+EebKp0jucYXqk0kByj/PKjHwiGNkRJzW9xxhpXwdyaPjI?= =?us-ascii?Q?xArxRJqt2tnlhheW8KNxScp8RAI6jps=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e36aec7c-6018-46c3-0aa8-08da17980a6f X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2022 06:38:20.5269 (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: fhonRA15PwD3Rs+8owBkwTCfEnNsbkx+nFCWZksPVS0WXe0kttldRKT/An6ZxE++VpsnJQgaxHi4eDCsliayN1bp2nQBC3Ina3nZj/1df7U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2687 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.850 definitions=2022-04-06_02:2022-04-04,2022-04-06 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 malwarescore=0 spamscore=0 phishscore=0 mlxscore=0 mlxlogscore=739 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204060028 X-Proofpoint-ORIG-GUID: h1deQvSqxp8r7bQF_GNQJLpSvhbMVtcA X-Proofpoint-GUID: h1deQvSqxp8r7bQF_GNQJLpSvhbMVtcA X-Rspam-User: X-Stat-Signature: jrodt8ag4gddj5dgzqu4xjb3h3timdke Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=P7lbFwF1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=XWfba4lr; spf=none (imf16.hostedemail.com: domain of dan.carpenter@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=dan.carpenter@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 6055918001C X-HE-Tag: 1649227104-912293 X-Bogosity: Ham, tests=bogofilter, spamicity=0.002749, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hello Naoya Horiguchi, The patch 3b325af8e5fe: "mm/hwpoison: fix race between hugetlb free/demotion and memory_failure_hugetlb()" from Apr 5, 2022, leads to the following Smatch static checker warning: mm/memory-failure.c:1537 __get_huge_page_for_hwpoison() warn: sleeping in atomic context mm/memory-failure.c 1515 int __get_huge_page_for_hwpoison(unsigned long pfn, int flags) 1516 { 1517 struct page *page = pfn_to_page(pfn); 1518 struct page *head = compound_head(page); 1519 int ret = 2; /* fallback to normal page handling */ 1520 bool count_increased = false; 1521 1522 if (!PageHeadHuge(head)) 1523 goto out; 1524 1525 if (flags & MF_COUNT_INCREASED) { 1526 ret = 1; 1527 count_increased = true; 1528 } else if (HPageFreed(head) || HPageMigratable(head)) { 1529 ret = get_page_unless_zero(head); 1530 if (ret) 1531 count_increased = true; 1532 } else { 1533 ret = -EBUSY; 1534 goto out; 1535 } 1536 --> 1537 lock_page(head); ^^^^^^^^^^^^^^^ Sleeps. But this is called from get_huge_page_for_hwpoison() with a spinlock held. 1538 1539 if (hwpoison_filter(page)) { 1540 ret = -EOPNOTSUPP; 1541 goto unlock; 1542 } 1543 1544 if (TestSetPageHWPoison(head)) { 1545 ret = -EHWPOISON; 1546 goto unlock; 1547 } 1548 1549 /* keep locking page. */ 1550 return ret; 1551 unlock: 1552 unlock_page(head); 1553 if (count_increased) 1554 put_page(head); 1555 out: 1556 return ret; 1557 } regards, dan carpenter