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 EF73AC77B7F for ; Fri, 19 May 2023 12:15:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 66256900004; Fri, 19 May 2023 08:15:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 614F0900003; Fri, 19 May 2023 08:15:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 501AE900004; Fri, 19 May 2023 08:15:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 416EC900003 for ; Fri, 19 May 2023 08:15:21 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id B835580306 for ; Fri, 19 May 2023 12:15:20 +0000 (UTC) X-FDA: 80806899600.02.8C4064A Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by imf28.hostedemail.com (Postfix) with ESMTP id 85F21C0012 for ; Fri, 19 May 2023 12:15:18 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=hKXHC9Cb; spf=pass (imf28.hostedemail.com: domain of urezki@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684498518; 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=b7UdFp5GhAiSV0XORaYQNKiXNz/+Czt3HESIc1RiAg8=; b=RoUP5CmpM3ldLx/sOky3+QFv50xkm95PzM8/vutJDkGxu0YK09FQZBpZRDEWeHMz/JxbfB NbRB1A0TZ+AHhSLPNoO7uQMzGizgNPB8FIOieK62N3lL3JNMlo3H9dxWehFQLOzUjw1mNB jZHuShfVL6vO3J0KAGXzwPsf8VW7jNA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684498518; a=rsa-sha256; cv=none; b=Swsb7jAeCPW8Ak54tPwNLf8UM5kL5OETBQWXzUAaM+6glHLY3JIWuiptv0qm+4wpZRNPZH K2GBvJri+As4sUIB9IJMdCxw4J3ydzp3cdh+bbOvQ4MLiVUdtXRBfGutj6TrFJVSiGuPA9 /wk7seM7nUCK3w5PCLPsL6z8+n2RcFg= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=hKXHC9Cb; spf=pass (imf28.hostedemail.com: domain of urezki@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-309553c5417so615676f8f.2 for ; Fri, 19 May 2023 05:15:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684498517; x=1687090517; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=b7UdFp5GhAiSV0XORaYQNKiXNz/+Czt3HESIc1RiAg8=; b=hKXHC9Cb3SzaIGDCCSfD26+Vx9papO3M9WGS0FAbpEGoVxAnnuH2kHTWA8im85WlRU pcCOWRB8ADvJJKoVFP+whabY8pds9jZeGAo5IWuS4emtxrqFhxEEPp1VNkSXy59dWbwp in3P38sBDFbbMYvhV/kvvz25fw64fofgyE8SHspD2gd/IDjRJPEg8j4KhmMmF3Rz/god 9W5vsvvmw2YX9BaWhksxe+iA3inJ5Q497sa8Vk6GBzfU3e2JZdDyQcXMzcnXjlO1bZFa 3aXcTp3wxE8nrfoRChRgU1YKc74Va6aJ7Hqywr3kMFYZGDaCP9N0Buir2eW9TwTIYDIe BoDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684498517; x=1687090517; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=b7UdFp5GhAiSV0XORaYQNKiXNz/+Czt3HESIc1RiAg8=; b=ZE7Rg/A6tm1HLdK8N2CMIEPjPB5d65cpGQcN3iFUikWTPIeE06Z6wsplRAbxU14FhB ayK2YFdPRmhF2UbMbWM0TCLKZWZ9QsXUr7NKr5AB/4ezoZn6vwdawu7Gn4I0ioyRLaEt pLewRxJ/LGkwcfblTR0HWaY4evr727+ca/hS6DHvJ8l/bbP5adIr4FhoS9byNFVIKUkw MjfCLXBTRVPa9HWXCrjHtK001+5aJEDZi2xHalyMj2RQFcMOunmYdbBS5gJe2v3pLGFd 81WeU20c7n+C9UrFCdTJUJME5IrmIhQamQCL4KmNgpsZcQQGcagrPEpTi1xdFb4+Xp5k OyyA== X-Gm-Message-State: AC+VfDw3B1T8ytbWOBBZzsltSK+7VMOJOT+7CQY5WnM60qtCBEybHSlZ LzplPk4zaeqjC3+aENZvGvwNm/SaFugOyA== X-Google-Smtp-Source: ACHHUZ6chS+j6ik3EDwUZbqAeKYmkhlSk/4VlNyw4JPRLbolGOF1i2zWinXwEYOmyW0qHqk9zFDXSA== X-Received: by 2002:ac2:5fe6:0:b0:4ed:c639:54cd with SMTP id s6-20020ac25fe6000000b004edc63954cdmr633908lfg.35.1684498177856; Fri, 19 May 2023 05:09:37 -0700 (PDT) Received: from pc636 (host-90-235-19-70.mobileonline.telia.com. [90.235.19.70]) by smtp.gmail.com with ESMTPSA id n7-20020ac242c7000000b004f24cb9ef14sm582963lfl.47.2023.05.19.05.09.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 May 2023 05:09:37 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Fri, 19 May 2023 14:09:34 +0200 To: Ryan Roberts Cc: Andrew Morton , SeongJae Park , Christoph Hellwig , "Matthew Wilcox (Oracle)" , "Kirill A. Shutemov" , Lorenzo Stoakes , Uladzislau Rezki , Zi Yan , linux-kernel@vger.kernel.org, linux-mm@kvack.org, damon@lists.linux.dev, Christoph Hellwig Subject: Re: [PATCH v2 1/5] mm: vmalloc must set pte via arch code Message-ID: References: <20230518110727.2106156-1-ryan.roberts@arm.com> <20230518110727.2106156-2-ryan.roberts@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230518110727.2106156-2-ryan.roberts@arm.com> X-Stat-Signature: q5quj3y7za14bhxbudnp7mff9ax1tm83 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 85F21C0012 X-Rspam-User: X-HE-Tag: 1684498518-100593 X-HE-Meta: U2FsdGVkX1/9zRR/+iSJYTnkaS7l8jwCEYeHT87Gcy/qZNT6crwh9Yr3/XqJjRiJ206EVaeDe7c2uyuSz89od1bfeK+/WV8O29V9WzWNJGEAI68G+A70nRwtHQSG6haE4ZNry+2VrcXoeP/GIkFCs8xvFq85vRe072xvk3gxoK1E/zOIWMZlWvQaaQM636a7tWxEvi3Cbd60Az/7AB2YD8CNPgLTQ/sUx9UDXhJy9Cc0J1gAaGa88mAaaHPYKhPkXqIiCnyBEZvzihS5N+6oFRgigNusen/stabzMNUzSIFFHKotlpMcpv7a9dLd6otBsugBJZ9KIQQlEOiE3RFLUp2iRlIF1M7YPmkI4IaBS8PU759ahSsUewnVCdcEftYvWFn3u1WkPFXnx3RJatzer+NWYZwcJrQrAaJsw4kZBrEVAvBc6zw7Zoj7QuOrV5YAydSFEkntXKE9ymZTH72GtVTnRNlQnbxd7JNp3k3Qo+5ZMYGSlMc1nUsnVffaslUE2Qwh8Vz51rIlYJWdbTj/x/em+iK/crDM4qCfwmzp9ZO9P6X2hbarIiyB2i4ShnSG9foFAxSy/q8kCFAOisigWjc5wiPMwKkT3eF47oED/L6hbpAAVbO3BABubhaZjf32tQUIBWc1lzr+VtTUOKmMGXBoaWW4nNfzWH/pqYoOPBFWGAzK+vUvHzuXL6oFQKOjqBHBFsAdEZwuI+K0eJEv0YDEKZ8vsJcAwsXOTi3ZyVCuxvRKMQLk5k5Eof78XhGs0xZmQZkUCUi4up9OOON1owvHHZ4Skjdn7W+Edkl8KpjyTtlOQkwr9e42SRIBVnU0NOM9cZ2AvMoCLZkpaEg/UBAnKf2EosPJKwFGP1ZR5URFjxGZNiWcnYgFpXoEfwfPQ4vmX7T4YqXS/i17HZL5IGLRSN4EmTOTE8zUFGQba4nclhC/BLNskOlSZWo9FLsFgxIBVEEwmxAAcsuBNMd 1doKlEwx 8s2FBkzF3b6w7xzgJeAOKVcub910IEqSbr1+wKwLpdDc7/78Y+BXcOEy4O70a+JX4GFMT0j33gz+EGhZLaIKy+uczpofJHKzpJZdmuFSn/jcZ8eYZM5FwBSnwon7pk1HmXh3ToJGbcjJ9rxRAkRn4fKVC6DweQOddsvh9XtyvJ0rtMWsTitLzej4HHmJ0KfmYxugmNvHXwGN4SQxdT+QlG5PC/5qLsI87cqCRPZpxVVbpPd2rLYGhZdjDeKp0V1sl/qTCHGYf2Nk3TAYSAY/g5rcj9dkHMJ4A8ul/0DrC/4fnOuzrBXwg1YFhgp7qw0lbykPDuU5S1D9Z6KDrfmRzji1uFSyqPpKzroNGrTmHW8CZ41lQhfkKB3g4I+fUOKsWjXUD+0sAh9C1UXmz7kdgp/qjB53qqgtORNYm/sp7lpMDObZWx6oge3EkKOAsAr1eP3iewKWS7FZQbkXXiYDHEFnbocx7v1QkoFH0cT1+9WmmMRXUQuQnkXKF+EtIXiv34H3Y/ehaipwKXETAh8Dek8lORQ== 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 Thu, May 18, 2023 at 12:07:23PM +0100, Ryan Roberts wrote: > It is bad practice to directly set pte entries within a pte table. > Instead all modifications must go through arch-provided helpers such as > set_pte_at() to give the arch code visibility and allow it to check > (and potentially modify) the operation. > > Fixes: 3e9a9e256b1e ("mm: add a vmap_pfn function") > Signed-off-by: Ryan Roberts > Reviewed-by: Zi Yan > Acked-by: Lorenzo Stoakes > Reviewed-by: Christoph Hellwig > --- > mm/vmalloc.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 9683573f1225..48202ec5f79a 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -2899,10 +2899,16 @@ struct vmap_pfn_data { > static int vmap_pfn_apply(pte_t *pte, unsigned long addr, void *private) > { > struct vmap_pfn_data *data = private; > + unsigned long pfn = data->pfns[data->idx]; > + pte_t ptent; > > - if (WARN_ON_ONCE(pfn_valid(data->pfns[data->idx]))) > + if (WARN_ON_ONCE(pfn_valid(pfn))) > return -EINVAL; > - *pte = pte_mkspecial(pfn_pte(data->pfns[data->idx++], data->prot)); > + > + ptent = pte_mkspecial(pfn_pte(pfn, data->prot)); > + set_pte_at(&init_mm, addr, pte, ptent); > + > + data->idx++; > return 0; > } > > -- > 2.25.1 > Reviewed-by: Uladzislau Rezki (Sony) -- Uladzislau Rezki