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 EEE87C48BF6 for ; Thu, 7 Mar 2024 14:20:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6D7A86B018B; Thu, 7 Mar 2024 09:20:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 687896B018C; Thu, 7 Mar 2024 09:20:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4E6A16B018D; Thu, 7 Mar 2024 09:20:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3BA7C6B018B for ; Thu, 7 Mar 2024 09:20:18 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 12CB4141076 for ; Thu, 7 Mar 2024 14:20:18 +0000 (UTC) X-FDA: 81870452916.26.AF18B65 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2047.outbound.protection.outlook.com [40.107.244.47]) by imf19.hostedemail.com (Postfix) with ESMTP id 552DB1A0023 for ; Thu, 7 Mar 2024 14:20:15 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=cNV44LNt; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf19.hostedemail.com: domain of ziy@nvidia.com designates 40.107.244.47 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709821215; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=gecRBsE/8VWWZs43cwyqpTkVdm3qZC0678+BMhI2PLk=; b=InDFrLVpV/24nk2uTnm4botEZLxWewRp8bjbh3Tc8YJpjSIcV2WavJHhbRRyYclRul813g ZeiDC57NpDJgvCNCUn8g0K2iqR0lCxBrUbIJxvsy6W6am0/P2vTspa2n4DOaxKcquZ26tU 05f14L6VVlGyqsnrQpQiZl2r0kNBQSQ= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=cNV44LNt; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf19.hostedemail.com: domain of ziy@nvidia.com designates 40.107.244.47 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1709821215; a=rsa-sha256; cv=pass; b=ZJCOoUjxDzxa0yB7hJOiSY0yt6CMkaMk+uxlyyJo/Zx2+x0maLlfbnXstwNx4fetsrTBgx /5RqcIl4Pozp38fSXzWIPBsx6G7xWAH1paI7vy50USoTU18881SQTUSPOjFxL/4J8GWLtM 517Xt2DQH90P1bTLSbw274PD1y4tWws= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FV+mSEOguSrmRUNRZpWwJuItrBKDT/HTOO+JPDFVMs1N7+59+0hmFggi8V95jzj2PTKmBUAw2N951D+3WXJDgTY6cKXm/TfKqkEAjv66F0FNqPLVtWAchT2sNhZWnJaTPBTHFF8KjIykXGj/gvKfSBJwhCm23LOL/qPFb78SbmjU+tU+IlBmdWw8mQ3YelaEnqxeVOOQNH4eZBo4mjyOEbkZ67OsIYNIy/WiCwNytW0dbKMN3jI1F/IfdAr+zy36s/Wicfwnq3j2XClMX4YI2o+EEtxGprfOXxDAHkxCDStaVX5lWugOb6j8v58bRvgrXFWNzljm9qm5gJ48gk0LCQ== 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=gecRBsE/8VWWZs43cwyqpTkVdm3qZC0678+BMhI2PLk=; b=MbcUFBwk+HkBrECCcr4V2mp2PcOL18WrKqeaa4/DY+sl4QZDB2pcFyOD5NiKCpcmu2rdMZB66nYh0sGW2b0sQ1SarP58dIlpoXms7Ff2xKcTm78SoUwFmnmHUTo/Fi8/8Movmr+/osE8sjEVoeZ6IvXblQwPKaPNd/+XvTCys/FVmqjCtSKGILoqTXanHmDnDJNRnGDc/O9mYahtF0Y59i+00mgSxwDWA4q9IdlHV2BdTyIr0G1l6KgS6Lh0DTFcN5HVfG6mgXB5b8i/TvGXh+LLgkR1aAeq0J7dF48VlEDrypw52fVQp8kGDTkze6jKt/0SUOl0yiH1VIfVft+BVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gecRBsE/8VWWZs43cwyqpTkVdm3qZC0678+BMhI2PLk=; b=cNV44LNthVa4BJuUZT4k/NPt15Cb8lXhuwqo7Q95R751VIgigX82e7peslo1B6ho1n1L2MlUt85XEOKDtzGYihP2t5jCrq6X9xUO+DLBh2vWCBhNaxK9q2PxhAQwyvtviHBnGnyQyDnV+Sneb/jYFFVetiIAWOCyNkiqDPAdaMsMSScLIuge7lUnXVkEEE8yAMKFL/7SmmqXPGyrHQ4STEgByR8TZ2RgVkXWVvNqdtwUTLFVDi5z7yesT/7CjpzMwQ/vTCdqgmAWvaDa/UU4DWukATT5jpi8Hgxj0CJRYqRmrbPPrvfr59q1qaOjl5Xs8t51pB4+dgAQV1r9RsVoTw== Received: from DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) by PH7PR12MB8014.namprd12.prod.outlook.com (2603:10b6:510:27c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.26; Thu, 7 Mar 2024 14:20:11 +0000 Received: from DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::dc5c:2cf1:d5f5:9753]) by DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::dc5c:2cf1:d5f5:9753%6]) with mapi id 15.20.7362.024; Thu, 7 Mar 2024 14:20:11 +0000 From: Zi Yan To: Dan Carpenter Cc: linux-mm@kvack.org Subject: Re: [bug report] mm: huge_memory: enable debugfs to split huge pages to any order Date: Thu, 07 Mar 2024 09:20:09 -0500 X-Mailer: MailMate (1.14r6018) Message-ID: <4EFF8F91-5B42-4E90-BFBB-FBA8DAAB8301@nvidia.com> In-Reply-To: <7dda9283-b437-4cf8-ab0d-83c330deb9c0@moroto.mountain> References: <7dda9283-b437-4cf8-ab0d-83c330deb9c0@moroto.mountain> Content-Type: multipart/signed; boundary="=_MailMate_5C94D4BF-701A-48A4-AF18-6A1C624DAA41_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: BL1P222CA0008.NAMP222.PROD.OUTLOOK.COM (2603:10b6:208:2c7::13) To DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB5744:EE_|PH7PR12MB8014:EE_ X-MS-Office365-Filtering-Correlation-Id: 74da5299-8e2d-45f1-1546-08dc3eb1b2d6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GqZswnvHo/1oPmnJ8K5GL9TfVdWJ5q99tI3Qgg8H0UvnGNyA0HTaJFpi5wyws7NhvEexGBiRBkhb+Ob73gNQzteJP5ZyVvTUz4LSqkUAYU2SvZvqenesJU85ntlnNyEVy2gemNClKSNiO4Y4j1JpC8ujlXGdaho4HOrh+sKhLd2nFcgpwuMYm1B1s17sfGQRIvXrOwVU6V3lfG92rak/NYuAI92qmebV3/csqRvjkqEwdeFboU7vza/1bptpiFlYz9awibZF3etqUP+r/M0uOAThOaa4sxIFWilJExOajF2hyePkv1Cn/SQ5vUmTztCapyRSelUTk3M3D8Fvzi57nh9UMI3cMf9OBBWxgEftUfR0ZZulTAdMAjRRlBg7ohRIflBOdjXeFoCQ73Qz09LhW2fQmyI8ACukSDIqpaSbw0+4/lYi16WKK19CzNtxUqfei182ERMkBkYjbqpT0DqnTUXPWciRLLw7Ywr3qxR+7z8BqUXr7JkBqL3WdXoXco5WILessGS/Fqy7yaDgYgCj/rLGN9J6hiDe9RxgawxqppaEx8oBIV/IGUqWWEU4CyoCMt5JIUa0JQXrmoICBQFo0teVXCFpQrOdEYiV7IP/pG9PoxY0zpW/B7YYmWzeA4ZLGIBX2lGlXb/UVddmbdYiwglgHhWrOcA7Wc/Ct5mYqEk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB5744.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?opD0lVhJdS5ysCwBR0OVSAR3eJ9r0fWdYRlLeblWFkDdXSo2Gw6dxlwY5iMd?= =?us-ascii?Q?ovBG3RiVo9nFBe2PV4fzuGvsFjhRa1wF3TCgot6B42i2h6Awu7pD+EfNmzjk?= =?us-ascii?Q?GxYTVaITZdX/1hOCiCx+FhdxUcdnXIJ/Ltn8zL0u6dsD9SwO6/zZLwvwwCXF?= =?us-ascii?Q?+CRC/9b29XHsEM2Sae1i5NoH4u2w21xbTwH2iQBam0PtOOh4LMQgvpmjp740?= =?us-ascii?Q?S67MkhNEK8YUHLEs5vKinSe2CHPVZfQ9JV/i2sdCr645Gy6eZTdlzQLCYS1U?= =?us-ascii?Q?w7xWpLv14M5QoxVBThR5YhEEuYoRvou5RK2XF9QfWnwYROPLyZQjh2XD0LVO?= =?us-ascii?Q?kVcb4Qcpp874+Hj3hBbbITNINLiEqmY5hyU5yGPwhMPRFMhdr9ewK6vTQUNp?= =?us-ascii?Q?jh48ElSQ8ukVZ404vu4ovQ1wQOJmP8XfyyjWopyPTphD/p5ze75+7nMKpZgk?= =?us-ascii?Q?i8LZqQvTUwk4p1KQYmckpPF7uauozPxD9OXxJ3jh4yCR1AOVAhAKpwU/JAGf?= =?us-ascii?Q?I5uc+D+ea+QqLcDrhp8zUaiJvs+UssdXLhVktUkUa6wjkfk1BdW9PNDkHygD?= =?us-ascii?Q?TLPr3o3vLckyLrQZmsQ0rbSlIYoQfifLDscqL5DTYwANG6MRwQoUkCQWs7i6?= =?us-ascii?Q?IGtZSXXLHfnHovsCcPdDZ3zadi5CopjXhvJ89KWStd6qAk4Y+5oU9WLhyVST?= =?us-ascii?Q?Qj4ub7UwubVtPCn0cywYeYxE40IHCWrr91zLwLkzv9BUMErhtR4PILAilbLV?= =?us-ascii?Q?3WAN0bvIjTz09XQKgWMlaVb4cQI8zV/fLPhdHenTWs00ui7kC/BhHHTyTx0u?= =?us-ascii?Q?Lj3b3r4HwkhBAKAv7VbW9IYqeOhOh65H4aIcRALWXCbswGZMGMTRHIylyBz0?= =?us-ascii?Q?swfC26HkYVOnRmsLJEPADxregO8YjzybNG0T0XhnjTEKqF8DB1Y6EARWD1LH?= =?us-ascii?Q?ttQbcJcHw/fqFfZB/aR+ZcC3YljWbWN0NkLAC+2OYj0W4mlz+1n/cWHa2uon?= =?us-ascii?Q?FwMS4qQY3XnMA0xX9IBnJkPn1lJJyBYSJPYjOlj2Fa4WtI4qUZcvD4CDT+sU?= =?us-ascii?Q?tJDtVV9RL25q6HgDJZlbac4eUGtJSR4W3nra9ciND9uhWof1AY6+ch1NKY2M?= =?us-ascii?Q?+GWu2Jd7UO6Ed02fs1I3BKd8rFh8cbVeUKvgt+wv3OuvxlJB5YQVAjKTWNrY?= =?us-ascii?Q?EM8QluQ0c5zhVeAvOE5+zQsvNtYT8RRq1UJL5wnmD/5AbjgunoHJFyrS+IO+?= =?us-ascii?Q?CnlrfU6d5exk7aWEdR+FAes2+0VOh1H4ZPKjgOCyk2PVgj1cRvrI8/3q5j4W?= =?us-ascii?Q?klGeFp1gQZbAHejkw4elr4aBd+tQRE1P78oephmjUffM85JXy0RLhfWT1lJi?= =?us-ascii?Q?3z5wuMMxboc5NozDyLOSX0Q95Pl/ksBw/NeOBfqUcueRrjpNaOSiKBQF29oV?= =?us-ascii?Q?lUGwqb6Z5DwdDM8pv+2512nA6+/bmK/np+JUQpK6o9j50tFW5A690Lmyd3qd?= =?us-ascii?Q?kOOqrtGhMAUEsnL/Svztxs0g8fYNszY+4ZYmTuW+rwLxQUVGdpVn9lQbF97P?= =?us-ascii?Q?qpoAmCDWw3Mn2qquTJY=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74da5299-8e2d-45f1-1546-08dc3eb1b2d6 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5744.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2024 14:20:11.1948 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /mX4Zueuilc0HxhUAQ7g0tSasr4Mdwn1M/ltf16SPa2tHNJVvXzC4V0K5i7EdICj X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8014 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 552DB1A0023 X-Stat-Signature: chkwakczci4z75myxpph9rhkziee9aqo X-Rspam-User: X-HE-Tag: 1709821215-577270 X-HE-Meta: U2FsdGVkX19p79ITH4dLTr4WLTGSVUczEb1ZSt45h94I7JiZ1kVGiFQFOKYargEdWV6rqi/JFWhusKyqZAHSRbQSTC3/35sO2sLTMsCmtp6kWxNsMKblAUTlgoNbx2geqN+uNGJezLw/FDupSWEHx/C2msr3RzDpgwpOJNy31rndmsLi/TMIO1z2NdJ8RFyhVc1JoK1IhU3V55SS5M5FWyUtZHyek6WoMCSvdU4rmXOYbwPdMRkMv0hnH+PwjIEfNHj8MU3RZW+cWU9AeRlEo6aVRjXgCAvaJMUbBx2G/5URWkMpDbjqq+65eSx8cA33M8gikWwx7q8og1PfpV5Exdq/nQvSTHiBfRTqNuj3Jwy9ilPxsz4sFaIyxTIIBQq4Vi8Ac23cNRupOdhrtci2eBpY6D82pbp/rZiI66NQlVT/1apjzJsgYtXul1xvPU2VJrTwUbKcFlnYNnZU6pCY9mDQ78/ZjB2C5dayhT/RnmCxVFx8te4SJ3yflAluaudFLYd9vI2wyPzg4t1w7/oTDEfYQv2dZpDjTprtOOzJY/w2O1A+ZHc66Acpk2FQ/Q9QahYuTGtI/XPy4Pj2Gt6U61Ydhk7MfhSDGs3QQlSBs6cBXRbPlvISnjOBhFVO89qiM7eKx6XNwjxHKEcBTqHfIH16L1JbRhuI4P5n0y/KuPLqHCdSZzjuehum4Bq/KCz5PHKSkBs0f6Q/rrzG6+d2MoUdRrAjue8wp13wBZuwm+dQcrAPyaHNDq1vB/l4VhDTZTnLJ/Z8/FyTs/muTt5IEA8id+jLUzQlwedMExoN6vfLnZsmyHsUSHAOk+b6W7Nm3blZpcbMN4apRizBoSNGu6kmVGB3JWau3CJKTtyB/SQ+5m3pVaKAeFHJ3YVLGymC84fIPjlULAwRdA2C3jFab1P49LLZmzTZZ1cJuhE8COpfnMSEt1fFWwEBcx0vxQGX/EZuTZQ4fl52ERsrfOV qvPV6+Kf KGX3AcfIIuzdD2v/ET3UFUsk05kfNzu8ezAN4Dwk9UZq3y8TyP2r8knVtgznfRUmx5WariOrv7XakvWxSUAdF+S24M466QWyPsniFljIcsxP+swY= 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: List-Subscribe: List-Unsubscribe: --=_MailMate_5C94D4BF-701A-48A4-AF18-6A1C624DAA41_= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On 7 Mar 2024, at 8:49, Dan Carpenter wrote: > Hello Zi Yan, > > Commit fc4d182316bd ("mm: huge_memory: enable debugfs to split huge > pages to any order") from Feb 26, 2024 (linux-next), leads to the > following Smatch static checker warning: > > mm/huge_memory.c:2898 __split_huge_page() > error: undefined (user controlled) shift '1 << new_order' > > mm/huge_memory.c > 2889 static void __split_huge_page(struct page *page, struct list_h= ead *list, > 2890 pgoff_t end, unsigned int new_order) > 2891 { > 2892 struct folio *folio =3D page_folio(page); > 2893 struct page *head =3D &folio->page; > 2894 struct lruvec *lruvec; > 2895 struct address_space *swap_cache =3D NULL; > 2896 unsigned long offset =3D 0; > 2897 int i, nr_dropped =3D 0; > --> 2898 unsigned int new_nr =3D 1 << new_order; > ^^^^^^^^^ > The new_order variable comes from the user via debugfs. > > 2899 int order =3D folio_order(folio); > 2900 unsigned int nr =3D 1 << order; > 2901 > 2902 /* complete memcg works before add pages to LRU */ > 2903 split_page_memcg(head, order, new_order); > 2904 > 2905 if (folio_test_anon(folio) && folio_test_swapcache(fol= io)) { > 2906 offset =3D swp_offset(folio->swap); > 2907 swap_cache =3D swap_address_space(folio->swap)= ; > > Here is the debugfs code in split_huge_pages_write() > > mm/huge_memory.c > 3628 > 3629 ret =3D sscanf(input_buf, "%d,0x%lx,0x%lx,%d", &pid, &v= addr_start, &vaddr_end, &new_order); > = ^^^^^^^^^^ > We just read new_order > > 3630 if (ret =3D=3D 1 && pid =3D=3D 1) { > 3631 split_huge_pages_all(); > 3632 ret =3D strlen(input_buf); > 3633 goto out; > 3634 } else if (ret !=3D 3 && ret !=3D 4) { > 3635 ret =3D -EINVAL; > 3636 goto out; > 3637 } > 3638 > 3639 ret =3D split_huge_pages_pid(pid, vaddr_start, vaddr_en= d, new_order); > = ^^^^^^^^^ > And pass it directly with no bounds checking. Debugfs code is root > only... We used to take a view that if root does something stupid then= > they get what they deserve. But these days syzbot is fuzz testing stuf= f > even when it's root only and complaining about shift wraps or other > undefined behavior. So I feel like it might be easiest to silence this= > undefined behavior warning now instead of waiting for the syzbot report= s > to come back to bite us in a couple years. Sure. Thank you for reporting this. Can you check if the patch below fixes the issue? I checked the inputs fr= om debugfs and also inside split_huge_page_to_list_to_order(). diff --git a/mm/huge_memory.c b/mm/huge_memory.c index a81a09236c16..4d21e57a7d07 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -3052,6 +3052,9 @@ int split_huge_page_to_list_to_order(struct page *p= age, struct list_head *list, VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio); VM_BUG_ON_FOLIO(!folio_test_large(folio), folio); + if (new_order >=3D folio_order(folio)) + return -EINVAL; + /* Cannot split anonymous THP to order-1 */ if (new_order =3D=3D 1 && folio_test_anon(folio)) { VM_WARN_ONCE(1, "Cannot split to order-1 folio"); @@ -3484,6 +3487,9 @@ static int split_huge_pages_pid(int pid, unsigned l= ong vaddr_start, goto next; total++; + + if (new_order >=3D folio_order(folio)) + goto next; /* * For folios with private, split_huge_page_to_list_to_or= der() * will try to drop it before split and then check if the= folio @@ -3550,6 +3556,9 @@ static int split_huge_pages_in_file(const char *fil= e_path, pgoff_t off_start, total++; nr_pages =3D folio_nr_pages(folio); + if (new_order >=3D folio_order(folio)) + goto next; + if (!folio_trylock(folio)) goto next; -- Best Regards, Yan, Zi --=_MailMate_5C94D4BF-701A-48A4-AF18-6A1C624DAA41_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEE6rR4j8RuQ2XmaZol4n+egRQHKFQFAmXpzRkPHHppeUBudmlk aWEuY29tAAoJEOJ/noEUByhUvw8P+wdvqQYk3KsXSufp7M1r6K1lllLsJBD7dVQW gOs8sbf9ZYNip1gfFtUnJNblNHLEf9pNSvvaYfTehyc+6hIZLyG9dIuKclfjCzq/ CR5uPNSFyhocqDXzNAzqfj1ru64Hv/resBsPGsKZK3rAqrl+/fi6dplN86eBN5t7 nxCN3MU6YxeXjeq541oZxY84VSl6CdlZZiuTgkByCCfoacRfycbO5HPkaHItTnZ2 B8d2A5QePiKP83fdw8QZZA4N7YHDxXAZ0kXoxFV8gGyuMnqmguMmPf05r1rZQKzw jMQ3W9ncNyLFIgAwl/j4xuXckk/Coa3C5hS0d++dvQy+FL30LBHyq1mRPWag71l6 s3FxWMlCMozdqrucYi4lygnS080atKsUx059GHRYAaCn3EbZcRjwZfGjh+L7cVZf duDPFKTrre8VoboD33GoNYPQEl3dXRUNp+GHZbAv2UTKkgzdyJrwjTqGfrXkqva9 Zk8bZZyP/pH6ZuqbaWpH5G970dlddU1Bhe2zG+BYPMfj7AEVz/ZFGe9RoXK/YWJP 79TO99cutxIe4QPxAHRIlKDdggJ4lEZ1pYrE7TrVVVcv4T4oQptrV30+GS5NUgLA C7Y3vq5kJ+dYheJiw6igaVUZCi+r7U5vAzc1x2gq0AGL+JS9uDJZjnc7tOzUX/xP 7Sc9XPDs =eqlp -----END PGP SIGNATURE----- --=_MailMate_5C94D4BF-701A-48A4-AF18-6A1C624DAA41_=--