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 54E61C54798 for ; Tue, 5 Mar 2024 06:42:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D90A36B0083; Tue, 5 Mar 2024 01:42:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D3FBB6B0085; Tue, 5 Mar 2024 01:42:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BDF396B0089; Tue, 5 Mar 2024 01:42:08 -0500 (EST) 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 AA76C6B0083 for ; Tue, 5 Mar 2024 01:42:08 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 7FDB6120218 for ; Tue, 5 Mar 2024 06:42:08 +0000 (UTC) X-FDA: 81862040736.20.4CD0F33 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf27.hostedemail.com (Postfix) with ESMTP id 7379F40016 for ; Tue, 5 Mar 2024 06:42:06 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=CQyrwnsK; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=ooc2bhyJ; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="Mudb/7VO"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=2siUAnkk; spf=pass (imf27.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709620926; 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=rjp/BnSXyPo0jbNjDHpaTMYQe3XqENbo8aeuKR2ncxk=; b=mqSAiX8x0lh3+OTjmA1BWix+Fy3PHI8qAKJ1rNzwdJRpWtb5odvGgfXtHd8vW0L5VBno08 6trzTaHkET2VxwP0UWLVFQVzUXaZ/mluDn7oW8q/qdNRr1DwkJNNrbmIU+2wPZbu0pXa0j 4I0rPJ3wouYyXblii47aXQUcX5rK5II= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709620926; a=rsa-sha256; cv=none; b=dEhWQ+K1rBQAM2Qzycwlq0YZbG7xI8zw43Wgtpl+6zHkqhxjM0lvILYlLDNpmfXQoV0eBt 9bMCiDIXbCo2CIfGP4Nft+ONmMT2ygFQmmhtdDMAztcIk1ZXsSNGXggJrUUPKsaAMlntFs jBxYw+ry1TbgkxLK1Yo6w6okZeQyhYI= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=CQyrwnsK; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=ooc2bhyJ; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="Mudb/7VO"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=2siUAnkk; spf=pass (imf27.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98]) (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-out2.suse.de (Postfix) with ESMTPS id A7A8666EB3; Tue, 5 Mar 2024 06:42:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1709620924; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rjp/BnSXyPo0jbNjDHpaTMYQe3XqENbo8aeuKR2ncxk=; b=CQyrwnsKHNwxN+VBIWxb36zvTWTHBr6ZHa5+Bw+m9OmZvHV3rSXsn/RVOraqFL+TLctvTI Sup4GsXp76Yw4HOjJHIhLUydR7S4Js+/a+prSW0XBiVbAF8d79Xv+m4tZCSkYUnyK5idfI TW9Us5nrcx6USBXZtvmSPF/2NPaBu5g= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1709620924; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rjp/BnSXyPo0jbNjDHpaTMYQe3XqENbo8aeuKR2ncxk=; b=ooc2bhyJBkmmz1g4BfQVYHLdQzsmlGWVijJM5GcFXJukEluD3f0toA3PVNUHEYwZ8XLUlV FzI1VtV3PDnPxgAw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1709620922; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rjp/BnSXyPo0jbNjDHpaTMYQe3XqENbo8aeuKR2ncxk=; b=Mudb/7VO3DNUgohKuiqwNGcR9dV74VlY7Y7puCWuunultETWGCejNwDsrho5I81YDYeZRJ FFqSee9modKv+Up4kE1cc2/r7YZUPK/KKh5HVJuloRaASHff40Dce8whrd4AdrrpCOXUHM KYCkByGUUkshCFmM4ULYkh24L3DbsyI= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1709620922; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rjp/BnSXyPo0jbNjDHpaTMYQe3XqENbo8aeuKR2ncxk=; b=2siUAnkkkC8f+tJYKMjLfxHjVmTKzuN5QX6uwxgTMV5csuxaV/sJV6zcO055WY1rprU6YF RBijKfnuxedsovBA== Received: from imap2.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 imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 74B8313466; Tue, 5 Mar 2024 06:42:02 +0000 (UTC) Received: from dovecot-director2.suse.de ([10.150.64.162]) by imap2.dmz-prg2.suse.org with ESMTPSA id tImHGbq+5mXUQQAAn2gu4w (envelope-from ); Tue, 05 Mar 2024 06:42:02 +0000 Date: Tue, 5 Mar 2024 07:43:17 +0100 From: Oscar Salvador To: "Matthew Wilcox (Oracle)" Cc: linux-mm@kvack.org Subject: Re: [PATCH 1/5] hugetlb: Make folio_test_hugetlb safer to call Message-ID: References: <20240301214712.2853147-1-willy@infradead.org> <20240301214712.2853147-2-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240301214712.2853147-2-willy@infradead.org> X-Rspamd-Queue-Id: 7379F40016 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: zeyx8fgm95wja5g199aidm8rk477amyz X-HE-Tag: 1709620926-742264 X-HE-Meta: U2FsdGVkX1/GsdJBml6oHdqHFDeBrJqdB1hUyXiEC9Z43EAZSn0z8UwArrptivQHOu+MnA2BRs9RHi5u6rdme6HP47poFXPOqhU48JyemYhU261+1i26DnT8F9MBi1e+FbZeZHO7jGDBpAo01jm3De7PBzmnrPxn06vIL7nSsFrnb+a1duvQwknnNQjBM8SDpzlzHer8C2+xs0rKYayCVqtSONIahTIWweQfdQkQ+7s7lugVAxvVJdNdTbupFmoSFeVfGFgTTZ3UQ887YJvCEM8dE8qQBfamg/4ulJ8Jh9lrwE/SOVT/HIH93gvuiR2RB5K1P/v3YUdOzv2K82ZuSXZEpMwpVIPaUj0Hb5TQ91UEDOo4MX48xSVkTITuSWPZQdgzU+GSON2vrs8Xdhz4GORjinfTEh/qBbyQmfw1iHwM4K2mA1CL9GtF6MVGDgJSIO+yIIRRk7rv5IPW9I+TXHttudPJ/5XYH+CU3neILsOX3wwCKt4wfhayNWEa+qiDk7l4m7ZhjtEia1LWIold1UeBlyP3pdUYfVLuqvmCRMGbeg5PrgsGODiR+DDpo5RSzlPMjYSjdAG0PKZuGvgG0COBTrmaBSO7yEWi2SBv/NZM+n52c5LHJwBjqv+hokSK6T1uzEq1Kc+RQP74shaO0UTC3qEMjkUjDwUVcjyg0pIsiLxeM/RYAjEN/CNNI11ItFBX2/45Na13EuUCsGaKqbJHw9IYwJkHLCfndGmANAYWZVPYFxccBiN9/0jJwekktBsIwRgrh7jJYVqJ9C+8Hd9/kvT5y6T8Ysdr8IRFR+FPrZqAma6k7iV6lThsWGw3tYJIU3ixy+11dXymtQFYWQsvlwA/lpyjvn3qbaRuyuaZmZRES8jv+i0xE9SHX/NEjkrLhNxYxUxwy1/EL+RePFHehDJkRaLljaNxAhdTbtg= 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 Fri, Mar 01, 2024 at 09:47:06PM +0000, Matthew Wilcox (Oracle) wrote: > At least two places (memory failure and page migration) need to call > folio_test_hugetlb() without a reference on the folio. This can currently > result in false positives (returning true when the folio doesn't belong > to hugetlb) and more commonly in VM_BUG_ON() when a folio is split. > > The new way to distinguish a hugetlb folio is to see if (1) the page > is compound (or the folio is large) and (2) page[1].mapping is set to > the address of hugetlb_lock. If the folio is (or has been) large then > page[1] is guaranteed to exist. If the folio is split between the two > tests, page[1].mapping will be set to something which definitely isn't > the address of hugetlb_lock. > > Because we shift around the layout of struct folio a bit, we now use > page[1].private, which means we need to adjust __split_huge_page_tail() > a little. We also need to annoy the vmcore_info people again. Sorry. > > Signed-off-by: Matthew Wilcox (Oracle) Thanks for working on this Willy! I thought about whether we want a Fixes tag here, but since we are only bugging under DEBUG_VM, and the false positives/negatives can be rechecked under the lock, I guess it does not matter: Reviewed-by: Oscar Salvador -- Oscar Salvador SUSE Labs