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 2A858C8303C for ; Tue, 8 Jul 2025 08:30:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C228C6B0205; Tue, 8 Jul 2025 04:30:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BD2E16B0206; Tue, 8 Jul 2025 04:30:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC1D56B0208; Tue, 8 Jul 2025 04:30:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 93C526B0205 for ; Tue, 8 Jul 2025 04:30:29 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 41867C049A for ; Tue, 8 Jul 2025 08:30:29 +0000 (UTC) X-FDA: 83640425778.18.EAC6237 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) by imf06.hostedemail.com (Postfix) with ESMTP id 35FE0180010 for ; Tue, 8 Jul 2025 08:30:26 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LkHsIvcf; spf=pass (imf06.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.42 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LkHsIvcf; spf=pass (imf06.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.42 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751963427; a=rsa-sha256; cv=none; b=mg4VF93A8vPsHnasCimqmt2xBqZ3A3SxeX0af4BMUZZ/OFVvzt82xmpo3E/0ggWgC/Rk0I vaIqkr9EjQk7x94uizRvihNupzgNfxalC6l9rned9kg/VVUMFZzLbJM+W6loxL28rxy2oe XXhhAd/3UWEAKz+3i0XnRbORy4WfUVQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751963427; 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=naUU7YPkX1jk3XPkX9Lnf2o6bvi4iB5Jjw8Y2jw+YrE=; b=x/pIAhRheQA+fwvGDjLk0co5s9haS60ADhks1zotNUCmMA632ULVA+ymApTb+Pqar4xiKg jKgB4X3apWWj/0kGH1j4P2ndhWN2WUxJiCd43QA+gLmC+Yi6na5EjBXSWhU6S1RmTdV527 Vc/KS0wdbj5bI00cWH4xCSffRqJl+L8= Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-553b544e7b4so4003418e87.3 for ; Tue, 08 Jul 2025 01:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751963426; x=1752568226; 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=naUU7YPkX1jk3XPkX9Lnf2o6bvi4iB5Jjw8Y2jw+YrE=; b=LkHsIvcfXtLtgH5lpNZ1cR2RTyOt3FvHT0ZIoQnBqfCMprC75TBruRTVWnOPwRkaFC F1VkPxM4+pLUtFFKoTUuYvS+3+BOS9nn+AjYEb3gdLKTdRSB1rP6jmW74WNbfJ2AjnNO jkr+N37ZjzJeg2rb30JGFaBaT1QYAxjPPzYEgY/++dBHP0CJzrtBrcwXMQ4utQ/4FeHo TyQlwaKhXTk2snVb0xsNPZxEKFvClon9uyI1O/xvc5sXsBSiHpSuDdYjhMMTwgks1oLF m5kde17s8blHqJgocHvUhFjO744OO9OrdCdw0+4Agd6DMmPuTn7/UhY4SRuAmcU1JP26 nE1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751963426; x=1752568226; 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=naUU7YPkX1jk3XPkX9Lnf2o6bvi4iB5Jjw8Y2jw+YrE=; b=kA+xVPmKCQsklVqTx3YLRKWnJF/0bVccmCjFUCKv5OOZ2sfI57fgKqjvwIPBI3JJg8 ivwusbSPrpi/qOuXiB8UPGIEbp0DdsEK3jSMUY3yuWs/Q63dbcP8bD8hHkrr1MLMlzLh 50BOKG/hrpCvM90C+lGySuRiUws842dFMK99kCpZxaby1bvH3pnPcqpNu2yoptckfTDa m2+y6hsZLjlrPKPQX4l//E1tC3TYFUmNXI81o7oP17YRTxT78rSsyC3uyWxvXQzj1e/w FcKC5ryGltgnT61o1tB/FtZkxu7YrA4LXJgJZyKKu5eu0y41uCY6/JAIVsookxvUG/N7 liSg== X-Forwarded-Encrypted: i=1; AJvYcCV8ca5Mn5O5b0pRewODi3LZSGXU26qTpnymSLzaPlmQNAKHPVJV5+MgATzmVEAUzw6lYTC4FZAK/A==@kvack.org X-Gm-Message-State: AOJu0YzeZq1wNK1xu8nhxs4XH8yjffsyQ9h9sJ4IWkC42hUCP9ZD1FhK L54Occrt1GpAVej4iveFXBFizFqSncQ6lVK4rNNyAMk841gktsONKWtmxo4GOw== X-Gm-Gg: ASbGncvtfjvkZZ6AYdFkQFhFF6T5jEYUju1IzjwqPqW8G/Lth3Bk9VcfYo3vF97wcBr RFw5et85cSkYreo5MbK1+iQgqYXP4VRBiIu2ypfH88/lYVJLbVvJWoMcIf3lK8W3YyxsKZ+djxM fh0VrFU1a5DUHn3k7DfdTUM6/B/kBZVoL7IZTVU+1G5+WlPRj96zyvLh52ugDOiM8Mfjb3L3a/9 YsAUW6XbNNUo8kWk+XeGTY5Vj4QmKHplowclUjZ4PXCP1TI6vya4LLDQ7JjQwC2OzvmtZpR1Ybf gMWzy/DoaXeNqcTcH2PWcDssusd90wixxSeUgWo= X-Google-Smtp-Source: AGHT+IFekh8SPs8INkZmJo/i+0y29wcjMu7aA0FkzX0D6HPVifRgtUPA8S07YMEyqiTxL6Gg5La/LA== X-Received: by 2002:a05:6512:e98:b0:553:2def:1ae8 with SMTP id 2adb3069b0e04-557aa38ef91mr4694997e87.30.1751963425426; Tue, 08 Jul 2025 01:30:25 -0700 (PDT) Received: from pc636 ([2001:9b1:d5a0:a500::800]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384a76ecsm1600937e87.153.2025.07.08.01.30.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jul 2025 01:30:24 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Tue, 8 Jul 2025 10:30:23 +0200 To: Baoquan He Cc: "Uladzislau Rezki (Sony)" , linux-mm@kvack.org, Andrew Morton , Michal Hocko , LKML , Andrey Ryabinin , Alexander Potapenko Subject: Re: [RFC 4/7] mm/kasan, mm/vmalloc: Respect GFP flags in kasan_populate_vmalloc() Message-ID: References: <20250704152537.55724-1-urezki@gmail.com> <20250704152537.55724-5-urezki@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 35FE0180010 X-Stat-Signature: 8cpgi8q5rwnfrpa7aoo4siscdpmiiepr X-Rspam-User: X-HE-Tag: 1751963426-80553 X-HE-Meta: U2FsdGVkX1/yCs9TX3NgDHf6Kctkp1003IZg42bgzLE26S+Doi4c1+UOR5K6zm9OjfogMcTL4fa1OPlIdQ29r48PpewdTov3kxLTQEZbRVGR0yA86CafYMIwjjWukrBXDRVtkfXA1sH3E1HayRFOBhfpw9NdZ13jun/b2tLeJ/MGavEznnSqZuQu1NL/KwAmaZmwQ3hQ0Rquskc4r+hYCEFlY/q00f5qZyeYeDfTNFqK1xJmThzUQesjH4g2hlsBYBMR8UuCG5qcSaf5XHNcpBN3bs7jys51Pw172sk50u7ZIKUy5e5BmUN3Ywbwm5pp+I5jflwFy7ehkz00qqwfM+A0RsAs3Q8wKrMFZOQSc+RJi32NYQR0nx+BfRxpjWayzFeLq8BdXJ1FKzkirZqb94koabjJcoxgV0duFV0r7AK8nZMVjJ0I/MGSSpo7QR28x6Vd/ODMkdKY0Mt7NTKoJRHkLUw0+5kiKIyczsVMFq3zWveLCcR5W+BcZjG6D3FOFet4SMTuzXTTDIVDY6snnnniQYy7jCxEuYm6I/Rd7CVZAUSXvWBmGJrbqg1Rle7yERj6Eli1b3yrlvrIVZMkgOlJOKCYd6qVHeVRsweZ0OccwxuuVbdtIX8eoKdieIa3WUD0l7bFT7VulHGDJUBwpOEflbnZOBfK9NWSUHFIhzYfbDN1WrU3vFO46Ndi27DhB3F5rVQF0ZUcbA75HZVjKOXme+iPBnh8SWqzV7cYlNUCVNWku12Hhss4jGCq2Q4Qdg8ZYdz05gT/dCx5nUYmig5ZJQQtS9sxMtFjtH6IT/Q3/YVDknBsLq44C54kHe4CjsN3nU+0XWNZ6fH+NRPYmon2QOFe4JzJxcFXx/N1rcTFow4lP/b1d5/KmiL4DUNlnIaycy96R+5Og2CJfk2RcfCOZKxUekbeLQlIQ62FYD42D9VlFcJAg5vDiXyYeHxvLu4+Ip5Dz61erTeaHsa Wvbzh+iK IJZkH76Y+L7VffaiTokeq+M9Z42UiccMrx1VWfaFNPthXEhIhjBfzrsdCaJXtDdVubKC2uTOf5kdzcA8mS/xPjBwZ+x4WOIMew5Yw8VhVfNT8nVLxXn7fVGeKDVb/64znqRh0ccIfqByOXEuHHZVDsvVmxReWSRmBsJmHdyMJbb2LDBIA4vzTsyXLTTKaAiRlJU6Rfu/RmSF6LcDKcnpZvjxeUHvzkAZ83wimKV4c6WVw9Qto9CIuq/CRoGxgZ54H+TWyOl3h+LofhPfEtbE8SS6sLZl1OGSQXskqpuiCy201QIA9+BI0LeEhXgtJuXfFpSluHVVTaAKA+H26bLHiu2LlzEOnvQyJL2gQrltW2njA8YHDv78SzHuuJwnE/kfubRbcRtbOdeK6GUeUwfBs86hU3eHBobRZsvOd6G90XJGW2bK2MqI70SoZ45jkJXNsHeN1sqOvQjr0wEiMsV/zNo1uMdUvbbfIa2lgo5TNCKXbpAEZICtgTj+mWrk5UWZzn05ksoVo6i/ZMCoKRE7o4iTHZf5XijdVKrPAUpN5N/vicnPw8EyWNbfcZhReQE8IEtYhhft9zHl4ps+/8jaMy1DiGBhhXS8FBYIDjGRFgiITZ5vyZr2usyDjIA== 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 Tue, Jul 08, 2025 at 09:15:19AM +0800, Baoquan He wrote: > On 07/07/25 at 09:47am, Baoquan He wrote: > > On 07/04/25 at 05:25pm, Uladzislau Rezki (Sony) wrote: > > ......snip....... > > > diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c > > > index d2c70cd2afb1..5edfc1f6b53e 100644 > > > --- a/mm/kasan/shadow.c > > > +++ b/mm/kasan/shadow.c > > > @@ -335,13 +335,13 @@ static void ___free_pages_bulk(struct page **pages, int nr_pages) > > > } > > > } > > > > > > -static int ___alloc_pages_bulk(struct page **pages, int nr_pages) > > > +static int ___alloc_pages_bulk(struct page **pages, int nr_pages, gfp_t gfp_mask) > > > { > > > unsigned long nr_populated, nr_total = nr_pages; > > > struct page **page_array = pages; > > > > > > while (nr_pages) { > > > - nr_populated = alloc_pages_bulk(GFP_KERNEL, nr_pages, pages); > > > + nr_populated = alloc_pages_bulk(gfp_mask, nr_pages, pages); > > > if (!nr_populated) { > > > ___free_pages_bulk(page_array, nr_total - nr_pages); > > > return -ENOMEM; > > > @@ -353,25 +353,33 @@ static int ___alloc_pages_bulk(struct page **pages, int nr_pages) > > > return 0; > > > } > > > > > > -static int __kasan_populate_vmalloc(unsigned long start, unsigned long end) > > > +static int __kasan_populate_vmalloc(unsigned long start, unsigned long end, gfp_t gfp_mask) > > > { > > > unsigned long nr_pages, nr_total = PFN_UP(end - start); > > > + bool noblock = !gfpflags_allow_blocking(gfp_mask); > > > struct vmalloc_populate_data data; > > > + unsigned int flags; > > > int ret = 0; > > > > > > - data.pages = (struct page **)__get_free_page(GFP_KERNEL | __GFP_ZERO); > > > + data.pages = (struct page **)__get_free_page(gfp_mask | __GFP_ZERO); > > > if (!data.pages) > > > return -ENOMEM; > > > > > > while (nr_total) { > > > nr_pages = min(nr_total, PAGE_SIZE / sizeof(data.pages[0])); > > > - ret = ___alloc_pages_bulk(data.pages, nr_pages); > > > + ret = ___alloc_pages_bulk(data.pages, nr_pages, gfp_mask); > > > if (ret) > > > break; > > > > > > data.start = start; > > > + if (noblock) > > > + flags = memalloc_noreclaim_save(); > > > + > > > ret = apply_to_page_range(&init_mm, start, nr_pages * PAGE_SIZE, > > > kasan_populate_vmalloc_pte, &data); > > > > This series is a great enhancement, thanks. > > > > When checking code, seems apply_to_page_range() will lead to page table > > allocation which uses GFP_PGTABLE_KERNEL. Not sure if we need to handle > > this either. > > I am fool, didn't see the obvious added scope between > memalloc_noreclaim_save/srestore(). Please ignore this noise. > No worries :) -- Uladzislau Rezki