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 2E26CC282EC for ; Mon, 17 Mar 2025 05:34:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E9752280002; Mon, 17 Mar 2025 01:34:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E205B280001; Mon, 17 Mar 2025 01:34:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C9A92280002; Mon, 17 Mar 2025 01:34:23 -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 A75A0280001 for ; Mon, 17 Mar 2025 01:34:23 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 73A20121681 for ; Mon, 17 Mar 2025 05:34:24 +0000 (UTC) X-FDA: 83229927648.29.6E7F095 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) by imf12.hostedemail.com (Postfix) with ESMTP id 1E7CC40008 for ; Mon, 17 Mar 2025 05:34:21 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=L1QGIzs5; spf=none (imf12.hostedemail.com: domain of bingbu.cao@linux.intel.com has no SPF policy when checking 198.175.65.12) smtp.mailfrom=bingbu.cao@linux.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=1742189662; 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=slaoLk/oqpkbwOoZMBoGUEVi8ujd6srpBIq+BMmDiE8=; b=T6tLEblHX/LilHMEQthiaigmXKVCepwcgeIBXg9OjXVQhKtlWnVBvuZeFVlKS3THPN7PXh xfDI+sKA0Ux4K65c7m/nthLMYgB7AYLl4lNaAtCj1UzA0JaHkUm0Fvl5OeVXHGGrFgdq23 GHMfhnekAxQrMmyn/cXGEN4xvb69lGc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742189662; a=rsa-sha256; cv=none; b=ryYDjUO790KyEAEyy8FHekK3WVOKZR3mmY4xI+Sg0IGBvHzaH37Z6BWKXTmNdbgbp2Nd8R T9d34IXLWkhYUhByTyWbQNomIKfCX5kBRRGfsumavBIUAtbcvY+qoTteMkQE2IyOTjxun1 H1KvUr0HPx/exL5X+s7fP+5PqEGIq2s= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=L1QGIzs5; spf=none (imf12.hostedemail.com: domain of bingbu.cao@linux.intel.com has no SPF policy when checking 198.175.65.12) smtp.mailfrom=bingbu.cao@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1742189662; x=1773725662; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=SPOSJLEimivS+ZLN9l6+WYlamjrqwtKjwdzaxUUNrlg=; b=L1QGIzs5Pj6GGO0jn8I15s3ZhMWtaAiilbdp2nbz/B1FGsxnX5/kcLah SM0KPn5te+jnLzuWlkyIqbi0owkV8RIqbU/ezYqndr2VsAjsg7u6Wi7V9 KiJyNR+Hhl7uYIwMO6zsSuWYGG/+2GcOK0cCToRd6MRx+frEOAy6RXMg1 pp4NaC0LvPQvG3KHU4bwDWWUI6p9GnX80XvcqPZB5kXa55DCAlIEQ8J1n pUB+3quQ5u+JOU//pPwzyqbq1/sTcK6y6oTlnTKiDxrjjWg0kU2xRtW93 PgudzGle1z7PNApNge8Q3LNo6r3ABwa55wjgvzfQ9Kp6doHg7hn7EaFQc Q==; X-CSE-ConnectionGUID: 7tivuoiQQrmJ5RKjCWUj0Q== X-CSE-MsgGUID: MI7FFU43REKXPNzFzCSHOA== X-IronPort-AV: E=McAfee;i="6700,10204,11375"; a="54646087" X-IronPort-AV: E=Sophos;i="6.14,253,1736841600"; d="scan'208";a="54646087" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2025 22:34:10 -0700 X-CSE-ConnectionGUID: 1pTgq5ilRRqfmV2zPcyG4Q== X-CSE-MsgGUID: miYrzQDUQ2arH3JPugCg1A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,253,1736841600"; d="scan'208";a="121554714" Received: from ipu5-build.bj.intel.com (HELO [10.238.232.136]) ([10.238.232.136]) by orviesa009-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2025 22:34:07 -0700 Subject: Re: [PATCH] mm/vmalloc: fix mischeck pfn valid in vmap_pfns To: Huan Yang , hch@lst.de Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, opensource.kernel@vivo.com, rppt@kernel.org, ryan.roberts@arm.com, urezki@gmail.com, ziy@nvidia.com References: <20250312061836.GA12841@lst.de> <339b0c1f-ce90-449f-a1fc-2656d5a1115c@vivo.com> From: Bingbu Cao Message-ID: <79247edd-761c-82e3-b8d2-acdbe31c8205@linux.intel.com> Date: Mon, 17 Mar 2025 13:29:05 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <339b0c1f-ce90-449f-a1fc-2656d5a1115c@vivo.com> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 1E7CC40008 X-Stat-Signature: 87kgwpdbfz1ibwtoopyafcm9u16an7ix X-HE-Tag: 1742189661-815765 X-HE-Meta: U2FsdGVkX18FdO5KLOrGJtSMpgq1HHYxuSL7oL80e3aUW7bDLK1KqSnbgA4bX4BaS+HI7p0hpnENYQ/1DQkXO2ZO4pVwcRlz/VYWSc5/DFAf/R1MnNWYGo6FLXVFzry5PkRm7KUzjgfH+5vX3IixX08fhMg62l1SJGu3sYNixGiehjUybIjy++QD3wZ0zuFyBQE/wE/HNxw76oW7J0Mz2J3EFApKZTnUcZXcNkSvnyDBYhw2YSqmGFdmUSHhWHuVi8C2R4ohHxC08EznxMGW87CKxiiZcXmrSViUzHEwBKFFdYUEC1Uxp+f/Q+6mmaGEvPqURey3T9JZ0y7foXKgixlION8XmTxD/zCM2KsacaqxD4cEkBwrfSfOA7en+TsdQxHtNLKxLbrfHzmh0rUdhDH5X2bxbhzihcSEY2RWd71pTIqmFcrmFny1+tHCuHpJcgc2tcFo1CmDP3ENFAR1OIV0eoQl+0ULokbwXl++35J4fcnCPoNHaqfDQkmeC70Nv6IYfjVvuNA4Y1k//aYUatU4ptDrICbjcbCtcUZXzYL3kzgu7UZyb4hvX9tPqKJskMrKTW4RqV/wJUptY0bj63zqrII3nXHjQHMM6QekJbxvP8uv8W+bA6aJWZzkGS7Jo0zxAxiZUU3YNSFb+ZsSImCpbR3bz2yewoGTgpyiNXix/oP77S+xdiSShm19JC0QoDG5ozWszgH79iIaCdohq0YYOst7Z0fUIA5gDAMr1O1N2AAdSGKNyjXoe9MqOxigKccdmrghQYK/3l13x5rIjUoyi1SNzJ2OBkugG9bpx2ufwmZeQG0Y7FPqPdWgbjd1p8qOfkVRpZZua2VBEDq/XctVN2qx8cmN1VZ4wJ5p1pHEChJhEmHCD9KHylYJcI01Uq2atvVfc8veYJA+r40tnllK/LSc3xT+Fe//mB7YbBhV5EJ2oFZxIEaj8edZto4ehCpHDKSB+dC5kt7Jb27 b7Fyj8Oo KoaXlvflzTmfc1L9bavhN5yCN7ZGA/YaI+UfqNc0OYDaU+z4CNP6mX0NP0Azc2FY7ruMAXfsSopJj5ntxiVDpG4sFyeYhwWpzual+85TN/FUaeUki7aogknB6V7+MksPj8YokLVCb2Kn4CvXu6fvYCCGmSvEHu0ulmouzUgCOaQWzwPjYd7jZ5gaGPoGoMKU6ok6O 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: On 3/17/25 10:12 AM, Huan Yang wrote: > HI Christoph, > > Thanks for your reply, and I'm sorry for my late reply. Your response > didn't appear in my email client; I only saw it on the website.:( > >>> On Wed, Mar 12, 2025 at 02:15:12PM +0800, Huan Yang wrote: >>> When invoke vmap_pfns, it call vmap_pfn_apply to set pfn into pte. >> It check pfn is valid, if true then warn and return. >> >> This is > a mischeck, actually we need set a valid pfn into pte, not an >> invalid pfn. > >> As just discussed this is wrong. vmap_pfn is for mapping non-page > Thank you for your explanation. I now understand that the design of vmap_pfn > is indeed intentional. It's design to do this. >> PFNs and the check is what enforces that. What is the point of having >> that detailed discussion if you just send the broken patch anyway with >> a commit log not even acknowledging the facts? > Sorry for that. > > We now have a new use case where, in udmabuf, memory is passed via memfd and can > be either shmem or hugetlb. > When the memory is hugetlb and HVO is enabled, the tail page's struct is no longer > reliable because it has been freed. Can't use vmap. > Therefore, when making modifications, I recorded the pfn of the folio base pfn + offset and called vmap_pfns. > And, these pfns are valid. So rejected by vmap_pfns. > > Can we just remove pfn_valid check in vmap_pfns, so make it suit for both of they? > If you agree, I wanna send a new patch. Huan, Why not update udmabuf to make it work with both vmap_pfns() and vmap()? As only the udmabuf knows it is actually working on? I don't think it's a good idea to hack the common API, the WARN_ON() is really a mandatory check, and current case is a good example. > > Thank you, > Huan Yang > -- Best regards, Bingbu Cao