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 71CCEC41513 for ; Tue, 21 May 2024 10:23:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E77536B0088; Tue, 21 May 2024 06:23:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E268D6B008A; Tue, 21 May 2024 06:23:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CA0946B0096; Tue, 21 May 2024 06:23:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id AA6336B0088 for ; Tue, 21 May 2024 06:23:45 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2250F410F0 for ; Tue, 21 May 2024 10:23:45 +0000 (UTC) X-FDA: 82142016810.30.D9D25F0 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf14.hostedemail.com (Postfix) with ESMTP id 0F1C810000E for ; Tue, 21 May 2024 10:23:42 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bA+zcWhS; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=qtc2fJWr; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bA+zcWhS; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=qtc2fJWr; spf=pass (imf14.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=1716287023; 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=2HWjoc4Tt+cW/CoaPn49Mt7pqUTZI4U/K0EbpV7waOA=; b=vjhRqzinddD38FXZmF2Ssfoq+7JkoRYO3zm0w5bmcLOsFFe2zOTwTt1LLAbVqL7P4f0V9H Gr3Yph2gkxgdKrjqFscxsIX2MykcIWBTMgxmT+s4ypZRVIMgHk8iDt09UoFnp60twyR1eF JcMjRXeCULVK1ouPv9/mYrfjl/gBxI4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716287023; a=rsa-sha256; cv=none; b=ssWskfXFveVLEcAcMgPbwYWJ3PEf2HQsC1RbhWbVL+DtdSUpITLqjU3OqAN83BUOiiZ9RA oLhzPkBJiGVjJXaqG+Rtn4ee0RGAnn3WpM5vS4WHRafqN32T1+oo6frjuYwQVK1Lk5XIgS 0ImGC5D+sS/E9fBlUatUe3e7lP1YXXY= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bA+zcWhS; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=qtc2fJWr; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bA+zcWhS; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=qtc2fJWr; spf=pass (imf14.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 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-out2.suse.de (Postfix) with ESMTPS id 4EB815C04F; Tue, 21 May 2024 10:23:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1716287021; 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=2HWjoc4Tt+cW/CoaPn49Mt7pqUTZI4U/K0EbpV7waOA=; b=bA+zcWhSIDcNye/11nLo8HBJPCP+jQIZHnK7XZm+RQ287e4dDSgP+rDdAo8Jkwvl0m7Tsp NU5OE2AAqc8iH8N1BQ1vk+nYi/B1toEc7xKeGdNYuMswZzdeVpaxgs9Kpc0iZ+S3mUUfTu wRjue0HXFIA7U7Ax0Gfbyvj6pUPbaq4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1716287021; 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=2HWjoc4Tt+cW/CoaPn49Mt7pqUTZI4U/K0EbpV7waOA=; b=qtc2fJWrnyG7/Nj9AxLSowPlE0yh2c6o19kOmIysaXwm9pH336r5KvhczNYDSxl0WUZE8O Cgrolw9cplEHr6Dg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1716287021; 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=2HWjoc4Tt+cW/CoaPn49Mt7pqUTZI4U/K0EbpV7waOA=; b=bA+zcWhSIDcNye/11nLo8HBJPCP+jQIZHnK7XZm+RQ287e4dDSgP+rDdAo8Jkwvl0m7Tsp NU5OE2AAqc8iH8N1BQ1vk+nYi/B1toEc7xKeGdNYuMswZzdeVpaxgs9Kpc0iZ+S3mUUfTu wRjue0HXFIA7U7Ax0Gfbyvj6pUPbaq4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1716287021; 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=2HWjoc4Tt+cW/CoaPn49Mt7pqUTZI4U/K0EbpV7waOA=; b=qtc2fJWrnyG7/Nj9AxLSowPlE0yh2c6o19kOmIysaXwm9pH336r5KvhczNYDSxl0WUZE8O Cgrolw9cplEHr6Dg== 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 DFF6C13A21; Tue, 21 May 2024 10:23:40 +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 aiqhMyx2TGYyAwAAD6G6ig (envelope-from ); Tue, 21 May 2024 10:23:40 +0000 Date: Tue, 21 May 2024 12:23:35 +0200 From: Oscar Salvador To: David Hildenbrand Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Muchun Song , Vishal Moola Subject: Re: [PATCH] mm/hugetlb: Move vmf_anon_prepare upfront in hugetlb_wp Message-ID: References: <20240521073446.23185-1-osalvador@suse.de> <338b4d56-7e5a-4d8f-8908-610f2c59e29e@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <338b4d56-7e5a-4d8f-8908-610f2c59e29e@redhat.com> X-Rspamd-Action: no action X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 0F1C810000E X-Rspam-User: X-Stat-Signature: tzbugx6o3j7t469cfycgwx4fehkuh7rt X-HE-Tag: 1716287022-980354 X-HE-Meta: U2FsdGVkX19LRhUX4RkKQsrjQf5rBV1kqrLd5vxzvfTdy9C1Xi/bEYbV41ZXloCWJlZH451nw0mEr1G/FDbNXOxAUOJ9wID+L4K0VESQqh/0JfgUHVZd67C11e7fzP8wRPug3IMVhL830cpFDpIvVzpRUboK7908JtcLZMbfFc7xryLErsJjTPH3dhv5CmHRQQBwvlPDmYcSUV8rSE/ZRxFU+lB/R10AjBlXbhF3xs1EIKGYFS3b3s2TLUy+6QjgPgIAe/eR+qTpS+V2TGUHlu3YgOxYe+KYUb08AP+nnwikSocKw0eo7jETm9wRuBZ3HSHlHalFvAwvSBcIGKlZmjOsivRF+X0O90D2qGRvkfHUNdNRQpjBFW0B0Fs8DOirAbraYDNFQhL6KAGdfvX/SWoCHyIEo3NuY1jfBcK+Y3rpQwYnUDto7IljvZlBr3QvSENN41P3U0LtSjAJsJIrzvDrsurkfKL6Rms2jyljWYOteB5sUTcEiHlcp7ehEUlMzfQMDWQW6B/TEINT3HoLUX36NCeeHxw/tCn/WWo6cy7X87VUt6y/EjG0XcPxkK51aZJfpvtkhE8aZCK3ki/+d+im+1jP8PTAP5QtYibbFWfDcR/SpUXOmEhuY8rdoY+37OFlzb/I6XmldgCEPMHxNZf5+tB+/P0PqtVfkILngx+0v0Ybpg4xAQgZfInX4BiB5q4xdRsTZtV/DVI6br2OYSZprwC17JQdjp74JIsm4Vq9lVKSegZx7GqOFvKEqv+W8kiTu8bsKc5wDlOtUC3eDRa45DpXRqMyDpAGtyXw0QgtT9oI67po1KP829RcKp81ycP0Fs4zc0fZSD1LqnpHWoOGuYRUxl9KP67pbplUGEbsf+7aVEZ6LOHa2c4mAV2eEK7i+zfdIP5x8nR54JlGItKL+x2/GxNDv8ikI3addmGyRZwnPuq0q0M/XIQtiGeVW/W34BeFhhLCEfTiH2L /H1g98/Z QmZ0ze1dvh79fX8uDYRUdspjCbA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000010, 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, May 21, 2024 at 11:56:54AM +0200, David Hildenbrand wrote: > On 21.05.24 09:34, Oscar Salvador wrote: > > hugetlb_wp calls vmf_anon_prepare() after having allocated a page, which > > means that we might need to call restore_reserve_on_error() upon error. > > vmf_anon_prepare() releases the vma lock before returning, but > > restore_reserve_on_error() expects the vma lock to be held by the caller. > > > > Fix it by calling vmf_anon_prepare() before allocating the page. > > > > Signed-off-by: Oscar Salvador > > Fixes: 9acad7ba3e25 ("hugetlb: use vmf_anon_prepare() instead of anon_vma_prepare()") > > --- > > I did not hit this bug, I just spotted this because I was looking at hugetlb_wp > > for some other reason. And I did not want to get creative to see if I could > > trigger this so I could get a backtrace. > > My assumption is that we could trigger this if 1) this was a shared mapping, > > so no anon_vma and 2) we call in GUP code with FOLL_WRITE, which would cause > > the FLAG_UNSHARE to be passed, so we will end up in hugetlb_wp(). > > FOLL_WRITE should never result in FLAG_UNSHARE. You are right. It was quite early when I looked at this and I managed to confuse myself when reading hugetlb_follow_page_mask(). > The joy of hugetlb reservation code. > > LGTM thanks David! -- Oscar Salvador SUSE Labs