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 5C990C3DA4A for ; Thu, 8 Aug 2024 17:18:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC7616B0083; Thu, 8 Aug 2024 13:18:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D79B16B0085; Thu, 8 Aug 2024 13:18:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C661A6B0088; Thu, 8 Aug 2024 13:18:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id A7E986B0083 for ; Thu, 8 Aug 2024 13:18:21 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 11320141574 for ; Thu, 8 Aug 2024 17:18:21 +0000 (UTC) X-FDA: 82429736802.12.15E6F9E Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by imf15.hostedemail.com (Postfix) with ESMTP id 2D1C2A001A for ; Thu, 8 Aug 2024 17:18:18 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=GymOd+ay; spf=pass (imf15.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723137466; a=rsa-sha256; cv=none; b=i+bljRAiQZHwLmHIlKCe9nIpOx720mE3pHhnxU49oeOnG+cc3v/UbjthDZwygkpFJQkj2k NBlwM7hzZhBr3x820JRf90mgH6r9sLo4nByWEDiaciuQDFwSvPk2iozTWhxayHyvPV3U3X kwER4LdeLAgCduoRT/gZjH0cOzXra1Q= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=GymOd+ay; spf=pass (imf15.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=nifan.cxl@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=1723137466; 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=qtdCTxJ+gV/pWRIhjPS2ySd52aYjDMr8mpGfd6xYvDw=; b=xEYJeBxndIuMAXWEAb0WqR6xwB+h3yA19NhV/J26AbpnnpeYwDv9OQ5n/rT/KNf3DGYcgb VnlSVl5hHgx1AmEjFXl+t630KHp8/uKvC7FMF2dfnPWIxeRLO/EFlOMtxsjE7BkVifDdwj sAjmQ/4HH9WVd1FylZ/rtzmGFeWfaZQ= Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1fd640a6454so11657265ad.3 for ; Thu, 08 Aug 2024 10:18:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723137498; x=1723742298; darn=kvack.org; 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=qtdCTxJ+gV/pWRIhjPS2ySd52aYjDMr8mpGfd6xYvDw=; b=GymOd+ay/G5IWCIGceIyCT+Rb8GMauDqa3vTsukx/is12yOvDfUHFVQO3kTpXgdkI7 8oi9R0t99J2WMQrgFdop+49oXm/ddUxsBynTnxBmLVi6Ywdvz2yQXbqOezUhJycisPZO /m77OGX410lKE8HQe6XczynE47xGDATnPuMJtx4LoVIKc59OKT8vPHGxvGTfyk4Zd0Ai FBZDymt3z+Ug7ESIwAXdCZfttHg5LYNBXeKGCioXR1CFOlKkDapGb1mmJxZcPY4r2AHS kn25cof++2WfFnaScLPdXJ9g3TFK9csYLWfv18dvvem1G2k1TBEkSZk6UuN5XP0EiFMg sKlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723137498; x=1723742298; 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=qtdCTxJ+gV/pWRIhjPS2ySd52aYjDMr8mpGfd6xYvDw=; b=v0yo8oqaXUk/fQKx5tIC8NGdeyFY804oU5KBzNuT6r6h3PkkIkB01SIbrG15zRgStd UTRmku02zopoPailfsb+rpbVCCXo+p/XxrfeU83AOWZzAnhY8zD1ljibv45RJByc+Qd1 InCnDN7xyWebfr6eIQJgc9/gKGAamTJpTzQzevlWRPlEn3CmcQ5TCQryzbz1wl0WM1QD zph2NUqwilYxbULA82awoBaAc4zfb742ZB3furAhoAbJXLy8+3gvqk7dqVzAd84AOJ+E F41zv7YhhiqYvN8FNl0gCdUqEv5vn8B6wcrqLF80akI3iJcePZihSUILGywT9x55M80q qJ/g== X-Forwarded-Encrypted: i=1; AJvYcCVbaJIevdIMPu1yLzADkYpevUomH+WbIRfn3Aj8yyy27THcbb21XgCU0ACkK5FOiTsvdamDwaZ/L6hF6CGKAjE1rwQ= X-Gm-Message-State: AOJu0YzgFDY2qcPD+1PJ7XZSNneAn8x8KMoKQsUvKAVWYpLBeC6DkV93 HJ5hzu5j79bVygrZKVeEkw2iTn2nkhcM8PWZdpXYtdP+9BO1vEvd X-Google-Smtp-Source: AGHT+IEgKnFfIuChgyyBkSUfxrJRZx4h353kQoDz9j2DscVKuyaaoYkHnrd0cgpIEQoZE6xn7vRV0w== X-Received: by 2002:a17:903:189:b0:1ff:3b0f:d5e2 with SMTP id d9443c01a7336-2009525fcb4mr33389845ad.32.1723137497583; Thu, 08 Aug 2024 10:18:17 -0700 (PDT) Received: from fan ([2601:646:8f03:9fee:1fa7:f643:a5d2:2c9c]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1ff59295294sm127164895ad.253.2024.08.08.10.18.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Aug 2024 10:18:17 -0700 (PDT) From: Fan Ni X-Google-Original-From: Fan Ni Date: Thu, 8 Aug 2024 10:17:59 -0700 To: Pasha Tatashin Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-cxl@vger.kernel.org, cerasuolodomenico@gmail.com, hannes@cmpxchg.org, j.granados@samsung.com, lizhijian@fujitsu.com, muchun.song@linux.dev, nphamcs@gmail.com, rientjes@google.com, rppt@kernel.org, souravpanda@google.com, vbabka@suse.cz, willy@infradead.org, dan.j.williams@intel.com, yi.zhang@redhat.com, alison.schofield@intel.com, david@redhat.com, yosryahmed@google.com Subject: Re: [PATCH v3 1/4] mm: update the memmap stat before page is freed Message-ID: References: <20240808154237.220029-1-pasha.tatashin@soleen.com> <20240808154237.220029-2-pasha.tatashin@soleen.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240808154237.220029-2-pasha.tatashin@soleen.com> X-Stat-Signature: 49kkz61y8cj8up1a7g3bboqbudq6qf5i X-Rspamd-Queue-Id: 2D1C2A001A X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1723137498-945055 X-HE-Meta: U2FsdGVkX19foamnp9ZbQJhOLyZhNLzaXNifFu3xrFYyOGQnjng55VL/Jf+SH4MHo0k3MmELYGQJXxwLNU9IR3FtOc+fZDGPtX7nj0U12ydnY7AC2TP+cKP70kpgnV/CNlw6UPdRFf8z3JMI6b9ObyHTpGRSaYIBvd89HigF3Gi81NQiC02B/d4TdBmW0LPQ53sdinbTFPZwLNPEBwkxXzQ3M8u+DsU8/fGX+2sp4Ek9mIWMh5oul2Uw/4wBL7XTW4fw5N4IuUU/r4+9MNY+TksoU3UBcYdRcYB3Il/++HVVFpT3RmA0WAxleWoPHRm5n/ahy/zr0X8RiniRq+PuSLm3NTJvcRHi9sFW+jtFGBhNS4y7M4N32rawnhRZPzsvKDtxYjUk9zJmA1DAXOk9bayjBe/And8q6Mlv8fSLIQEptbi+ZbjM4USKkmeAuwgDXT9nahxjYnCmt8bafjHnQuQX2M6pxXGLarCpi3eOjO/6Gr1Fjuzegwscxw1hfa266Ukr78bk9TtPq6YwsRJaW21P+prbzYOPjphGbBOcCiFhwZ36eDoOwcPCG1rZ6EQKVuQOMOmF3nG+fUiEWoU1Yh39jZ2g5WxYqFHEle/wf1JRDLGbgSENHZdsvBIbwux6tJ0sKQ7h0xUTzFvwN7SJnRd6w155VfHW2DL53xBQUxDCMe+FZofwaqY2UO9Z61sP/xQ9EeWjLtqPo5IkDyL+4fEZZWggp6lIR0psQ/VkVNgZWI2aha7N0s2svZvKfuZoDUfXSC8fKXHxmsuFdoOJPyOlbcGXA9MffOAvM7T5F0SzxlSypCGAnF7JJ5UWVqhfBl5wjFrHZalSr3now0QjpZ8V4AJLN1Z2veGSMvpppNEkZrVGZPdyvBtOUXX5a4fW8UxfqaIlXzAKeK6oGjkybuBcfw3eSbw7pI4b8KpWvYsN5DMUENGAku5kEXLmFDCnDX5hTzZFeeLgvlC9aDW UWOZc7QD PyUxNI0h0iz9u9eyjif9tkHz3JTWre/sTN/ZNeRbvZze1Xfpcuk5Zo0wytPQDQbt8Buopx0xrHNxrHhk27UEbZQbP1JzCRudCYUAtaFgajFWDz6xa6nPhItjdQPnEwWJtqHSRCRtjqg2mWIqHSFjBAr4iHz10iTjR1LMOdX74vxRHPRRNLeurAzOB76ju76ftCHXMggU91q24jA+MYuj67XErPI1q6I4pDnirTw1cOfsM4vNyckkOaKoRsKsI3VOuhWcq4d9/+Toix5NJ0MW4eW5IAIN3sOE+WxqIaXuESpsmd8IRctMvShvZQw/5bSS3GarvxjSNjST50GZlanyAah3uR4v0vs7LlVIl+FvLl0BWE0dnG9psLNkphmoSWaosgjQ3bbQg1BDh8e/IxiVyuI+VBV1Agu/dbIO5/4VDIb/Ef/zJzld/2i95MjT3Fx4xvPM95N4RaML12R6TzWAtYMnhTT9TXiwm6YbTHLI2dB3MOgGzVJvKGNP2Jw//oH+6mAjpw1dy6M/Bh4qfrQyHjNK5zmhAdFG2PMIBxvhPBXXZgqg= 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 Thu, Aug 08, 2024 at 03:42:34PM +0000, Pasha Tatashin wrote: > It is more logical to update the stat before the page is freed, to avoid > use after free scenarios. > > Fixes: 15995a352474 ("mm: report per-page metadata information") > Signed-off-by: Pasha Tatashin > Reviewed-by: David Hildenbrand Reviewed-by: Fan Ni > --- > mm/hugetlb_vmemmap.c | 4 ++-- > mm/page_ext.c | 8 ++++---- > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c > index 829112b0a914..fa83a7b38199 100644 > --- a/mm/hugetlb_vmemmap.c > +++ b/mm/hugetlb_vmemmap.c > @@ -185,11 +185,11 @@ static int vmemmap_remap_range(unsigned long start, unsigned long end, > static inline void free_vmemmap_page(struct page *page) > { > if (PageReserved(page)) { > - free_bootmem_page(page); > mod_node_page_state(page_pgdat(page), NR_MEMMAP_BOOT, -1); > + free_bootmem_page(page); > } else { > - __free_page(page); > mod_node_page_state(page_pgdat(page), NR_MEMMAP, -1); > + __free_page(page); > } > } > > diff --git a/mm/page_ext.c b/mm/page_ext.c > index c191e490c401..962d45eee1f8 100644 > --- a/mm/page_ext.c > +++ b/mm/page_ext.c > @@ -330,18 +330,18 @@ static void free_page_ext(void *addr) > if (is_vmalloc_addr(addr)) { > page = vmalloc_to_page(addr); > pgdat = page_pgdat(page); > + mod_node_page_state(pgdat, NR_MEMMAP, > + -1L * (DIV_ROUND_UP(table_size, PAGE_SIZE))); > vfree(addr); > } else { > page = virt_to_page(addr); > pgdat = page_pgdat(page); > + mod_node_page_state(pgdat, NR_MEMMAP, > + -1L * (DIV_ROUND_UP(table_size, PAGE_SIZE))); > BUG_ON(PageReserved(page)); > kmemleak_free(addr); > free_pages_exact(addr, table_size); > } > - > - mod_node_page_state(pgdat, NR_MEMMAP, > - -1L * (DIV_ROUND_UP(table_size, PAGE_SIZE))); > - > } > > static void __free_page_ext(unsigned long pfn) > -- > 2.46.0.76.ge559c4bf1a-goog >