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 08161C36008 for ; Tue, 1 Apr 2025 07:53:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B0F7280002; Tue, 1 Apr 2025 03:53:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1604E280001; Tue, 1 Apr 2025 03:53:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 027CC280002; Tue, 1 Apr 2025 03:53:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D97A5280001 for ; Tue, 1 Apr 2025 03:53:10 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C43D31A17BE for ; Tue, 1 Apr 2025 07:53:11 +0000 (UTC) X-FDA: 83284709382.16.6FDC3EC Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf11.hostedemail.com (Postfix) with ESMTP id 6084B40004 for ; Tue, 1 Apr 2025 07:53:09 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="JfOi/Eeq"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=d1lFf7+I; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="3F1F/xT4"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=ErmeEZId; dmarc=none; spf=pass (imf11.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743493989; a=rsa-sha256; cv=none; b=WemEzTVE9jDtF+JFea7rmOmUaxGLEcKVj+GXxahJzqAzi2oLi/c2Po3rjKmlxseSkLYPCW g/8wlsbKPlUS+8VTtvuXie9BP2AM9d0XLgy6qZm8YjOapQv62fG3RYjrFRNt23aA/RwH0f hxu4ZKw12ZXRCZyHV+GFSuPyLpTQQiY= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="JfOi/Eeq"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=d1lFf7+I; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="3F1F/xT4"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=ErmeEZId; dmarc=none; spf=pass (imf11.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743493989; 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=ZDs6f2RqNEJKjQpmeujYZRnkKQiNNSByIAH1zsTtCXU=; b=XBsXu4FNTIk6+r+FBzcHPXqiBDFcRkEqiJXwGn+ylS7R8aoSk2OQzSG0pfJQC/huP45Ntf UTgsFHvnFLT2mBBOQLpBMlshJH+2ALzEp7MmceEhdmSfNY+KrOoD0yeCgtatjY/bbkgOZ/ lXmVZxtJBPkwel1WuY0iWBR25zB+iUc= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 6213421174; Tue, 1 Apr 2025 07:53:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1743493987; h=from:from:reply-to: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; bh=ZDs6f2RqNEJKjQpmeujYZRnkKQiNNSByIAH1zsTtCXU=; b=JfOi/EeqNXQp2XWILz0NA/vVmg8keTXV6WpsZfKAAFVCeqiSu1TbdwWdCYzlnMsDuIgg95 L/b9qwZ0vmqO0JVPNuYO2ltOG5NgDvLlsiy74uWEHEhSwSMLJ/+wQ0TFpig8aXRuR8APaN lGwQR6ty/PXy7lTjHO8LdLXeiTDdq2Q= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1743493987; h=from:from:reply-to: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; bh=ZDs6f2RqNEJKjQpmeujYZRnkKQiNNSByIAH1zsTtCXU=; b=d1lFf7+IRUZ6k0YRFqYPFZW3QF85pRFTsZua+/ANHFjuN8f3hL6VSlRnBmrYSga/hBc6Jx UNaWFsrLijQqF/CQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1743493986; h=from:from:reply-to: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; bh=ZDs6f2RqNEJKjQpmeujYZRnkKQiNNSByIAH1zsTtCXU=; b=3F1F/xT40f6WKUiJf88N8/vrGP+b9916+hZJVvVLZBAwUfOUAjyyzlQ9uJHR66BD7DH8pB nYCAReZk0po/dRGL8TEZtlzTx8GsANjjL8xJeKGJvW6s1o0l3+kM6kN25JvZpkGGN6fDum 2odfn1Vzxy/MfSnUYsAEjNuNgKoXeBQ= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1743493986; h=from:from:reply-to: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; bh=ZDs6f2RqNEJKjQpmeujYZRnkKQiNNSByIAH1zsTtCXU=; b=ErmeEZIdbdMZzKX7dByHFtl2XxwcM7cpQ1a0fHc4U4FrbUymqvcl0X1M2CnLE2cGeDJKh4 wVbgjuz1fa9p6nAA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 3DDC1138A5; Tue, 1 Apr 2025 07:53:06 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id pnHCDmKb62dQXQAAD6G6ig (envelope-from ); Tue, 01 Apr 2025 07:53:06 +0000 Message-ID: Date: Tue, 1 Apr 2025 09:53:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/page_alloc: Fix try_alloc_pages To: Alexei Starovoitov , Linus Torvalds Cc: bpf@vger.kernel.org, daniel@iogearbox.net, andrii@kernel.org, martin.lau@kernel.org, akpm@linux-foundation.org, peterz@infradead.org, bigeasy@linutronix.de, rostedt@goodmis.org, shakeel.butt@linux.dev, mhocko@suse.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250401032336.39657-1-alexei.starovoitov@gmail.com> Content-Language: en-US From: Vlastimil Babka In-Reply-To: <20250401032336.39657-1-alexei.starovoitov@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Action: no action X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 6084B40004 X-Stat-Signature: j1qt6hk3tw5hkijz5oq7z6wxecdn76mg X-HE-Tag: 1743493989-861088 X-HE-Meta: U2FsdGVkX1+zmY4bGVMlLeIpvkrfipmGzQcwBcmww7ElQw1a3n6gomi7CHIH3f+ve4JEFwK8PBYG/Iy4+hKhQPafhbt5DDLEixPEJVxF64XMoYqvUQQ+Jfk33v6niyxVHd4u1B7GLT4HhHO3nfGEG+GSEN6nUh7OXKq7lcdjFAMQi4+2eTFFyW4rqkyljEGr1uKL3T/UTjodHdsaDKqaXJ3jgNxqIE61s0glj/y7cRkKkA1fB47IWZrxMh/rTFr2UH+Km0UM5rEP8J+5aZjc0aEHc3aEFk+m6GYmqLMawMkaXz5jno3Zh3ZynHblgvXoqCwl0Dp4KbROTeqzTSnGBUk1SCm47YqWWlKnbwnkgCWyOQoUZA4wLE58vcl65NS7paX7qw4q478+LFEcg+UGPVABxrocjZdObTAs4zWOUmyiNLi5zSpK/6V1OK2d5R0u8LpyIHj1tcM8Xc0GYqBMQg06puEloq0S4F7hOtB/bNTFfQ2ksToWRX053a8MqMeoU+DbWR4cOEH1Lg+TZvt5mltJbgmDOitYMft5U+8gzXSVCDLiRORl3qV0Q35t1T8WtOzAggaCJjNdp5vDwtrw+u23Y5es+OMCA0FsA6vpqj/DmoZgEUa/jXQUCdEV4+zdZCu3TPDnjXcUWdT0cPNlfvMGMFftJ4NbuWW+A5olT/+dzghTznDViKX+pf1CYtKDcESeb26BJ25FOrGFytqU6ya3ZyQGo4aBtiVmu+Vt3teZhPPkLfgxDGlfZekhvdkImSevvpU3kz4Eo2So4UqEKLxnDjKlUNbtDrqz2DPqWdITkqAQ/4qOlDCgVYm+hOaN7i0n2mUP3lgvyktlmb7Lam2yzxIsb+RO9WAyzMdgkqkQiOII9vrkBjf07iezZiyj0uRgkg8qdG95+5F1tnqQgjxU3z/18V/MSrl0XuwHHYtkRR5dFxz/eeBKssC6OSbjIL1Em1zdSzFQf+NWCEA sQLeCwoU /ieSnrpDwYTn0hCig7XAEEwgJNijOy9YqilhmI9ZiubTVYzAy643B07XwLPzyJOlDV7QQX1JpJZOrVcsKSMTQfJD6YREk+U5/FYg6y0HjVdoBkP6k+jjntuyQ4WCkZdRLDKvJF8PZhOjRG6AGeMmPByP4OjMnAHa/ZqciCLSuD6496sJY4rYx4e3aU6nHUGmrhx9HyTjVBNvlVWNiquLv+cFj7e4/b5gYlTy/Rtf+Dv604DpypC0z3cJdE9wXr7Bd/R4GnQbHop5nBxHbZjhs/0URwreOMIK+q0JLVOv1NtPPTyDIeSyuluMAHY8yb0HUvOYllJXJ6Iy2vkZb1wzTIT0FElZTCX3himJgDWL8cE7wijqN6RklrZ5OGy3w38YQdB4BWEIcPB2ko03m3DhhRIU+bdB5Z00yRyrniuB4+F7E1IE= 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 4/1/25 05:23, Alexei Starovoitov wrote: > From: Alexei Starovoitov > > Fix an obvious bug. try_alloc_pages() should set_page_refcounted. > > Fixes: 97769a53f117 ("mm, bpf: Introduce try_alloc_pages() for opportunistic page allocation") > Signed-off-by: Alexei Starovoitov Acked-by: Vlastimil BAbka > --- > > As soon as I fast forwarded and rerun the tests the bug was > seen immediately. > I'm completely baffled how I managed to lose this hunk. I think the earlier versions were done on older base than v6.14-rc1 which acquired efabfe1420f5 ("mm/page_alloc: move set_page_refcounted() to callers of get_page_from_freelist()") > I'm pretty sure I manually tested various code paths of > trylock logic with CONFIG_DEBUG_VM=y. > Pure incompetence :( > Shame. > --- > mm/page_alloc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index ffbb5678bc2f..c0bcfe9d0dd9 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -7248,6 +7248,9 @@ struct page *try_alloc_pages_noprof(int nid, unsigned int order) > > /* Unlike regular alloc_pages() there is no __alloc_pages_slowpath(). */ > > + if (page) > + set_page_refcounted(page); Note for the later try-kmalloc integration, slab uses frozen pages now, so we'll need to split out a frozen variant of this API. But this is ok as a bugfix for now. > + > if (memcg_kmem_online() && page && > unlikely(__memcg_kmem_charge_page(page, alloc_gfp, order) != 0)) { > free_pages_nolock(page, order);