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 58F05C3600C for ; Tue, 8 Apr 2025 09:04:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C062A6B0007; Tue, 8 Apr 2025 05:04:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BB4806B0008; Tue, 8 Apr 2025 05:04:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A55756B000A; Tue, 8 Apr 2025 05:04:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 861C56B0007 for ; Tue, 8 Apr 2025 05:04:31 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 575D880941 for ; Tue, 8 Apr 2025 09:04:32 +0000 (UTC) X-FDA: 83310290784.21.D35BB1A Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf02.hostedemail.com (Postfix) with ESMTP id 3353680014 for ; Tue, 8 Apr 2025 09:04:29 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=FhzLihHh; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=F+8UFiFX; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=FhzLihHh; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=F+8UFiFX; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf02.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744103070; a=rsa-sha256; cv=none; b=c6/NlPVbHX3Igm+WeN3DWSRSLr/h1VLhD7neDEP4e5kZvIIamaYGMr3svh2lzDPT9aZnzj NsTRH/VtSBiVnaatEDCI/PNDgYbPUNZOoL39fCSxUPhDDW3fvU4Z5gvgI/dRS2J/2zm2Ej LJiI0UP0YWbSWWNGAr0ygEpy3NXr7ss= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=FhzLihHh; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=F+8UFiFX; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=FhzLihHh; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=F+8UFiFX; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf02.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744103070; 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=ckfo8fOph7ZzwdOOHPG1tC3S5ShhyBJ/++mhVbO/yPQ=; b=rzvO9vO40mquSLf510HNEmmqC3wll1fw2I3daxIPWCev2sdASnN2Eyk8ae/icEBoabKgE9 xoUsbo/rg1mL/3tBOumy/dzZE9QEQ7CZO942mVlRn37Hv4n3zqjGfu+wBkYLpjy3OlK8b5 KrkT/+yiHJoV39un652AE/h//4rr1fY= Received: from imap1.dmz-prg2.suse.org (unknown [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 C5BBB21180; Tue, 8 Apr 2025 09:04:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1744103068; 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=ckfo8fOph7ZzwdOOHPG1tC3S5ShhyBJ/++mhVbO/yPQ=; b=FhzLihHhlSf62m8rXTUc5p7euJYsU209Yu9iQ90Esc9RJT3/XCJh4c1rkcEbDdWjcFPit5 ACcfgrMQ3xUyRwhN9Q0ASVDRxNpUyj4FrifSph9bbWOLotAsguOTNUpNGq1kKu2KAv/9Ro gpjI+HjU57AVTuai+f9ffX2gMHtOREY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1744103068; 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=ckfo8fOph7ZzwdOOHPG1tC3S5ShhyBJ/++mhVbO/yPQ=; b=F+8UFiFXWK3Bl3yRApuRZSLF8/+RBwilbV4lkv+MPGv/UicQOEofqCPfLb21Hr8sgFCo5n cu5mSMhhPwV8/yDg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1744103068; 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=ckfo8fOph7ZzwdOOHPG1tC3S5ShhyBJ/++mhVbO/yPQ=; b=FhzLihHhlSf62m8rXTUc5p7euJYsU209Yu9iQ90Esc9RJT3/XCJh4c1rkcEbDdWjcFPit5 ACcfgrMQ3xUyRwhN9Q0ASVDRxNpUyj4FrifSph9bbWOLotAsguOTNUpNGq1kKu2KAv/9Ro gpjI+HjU57AVTuai+f9ffX2gMHtOREY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1744103068; 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=ckfo8fOph7ZzwdOOHPG1tC3S5ShhyBJ/++mhVbO/yPQ=; b=F+8UFiFXWK3Bl3yRApuRZSLF8/+RBwilbV4lkv+MPGv/UicQOEofqCPfLb21Hr8sgFCo5n cu5mSMhhPwV8/yDg== 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 56C7013691; Tue, 8 Apr 2025 09:04:28 +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 +y1lEpzm9GdEXQAAD6G6ig (envelope-from ); Tue, 08 Apr 2025 09:04:28 +0000 Date: Tue, 8 Apr 2025 11:04:22 +0200 From: Oscar Salvador To: Baoquan He Cc: linux-mm@kvack.org, akpm@linux-foundation.org, david@redhat.com, mingo@kernel.org, yanjun.zhu@linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 2/3] mm/gup: remove unneeded checking in follow_page_pte() Message-ID: References: <20250407030306.411977-1-bhe@redhat.com> <20250407030306.411977-3-bhe@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250407030306.411977-3-bhe@redhat.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 3353680014 X-Stat-Signature: od4fqizjnfz55winxozukqygumrra9og X-HE-Tag: 1744103069-460514 X-HE-Meta: U2FsdGVkX1+m5/MtfYMN2YBPl/Wcxh/RXjFkOSP00IWDAR5m/oIF7iwgrwu8L09XHzAlIzWu+5PPE7SBiJ12C4sZ7eOOqIwjJB0qsPjXpy6aCVBsi4v3VzVYY/D6yNmg0OCiHcoxEJXlF5VF/1oO3NbjGmNe4r3XRodzWDL5tKo/Q+5MpD1gw4g5Ya5FNpJo0kuaigq3VEHHcTBxuZLIkB655ZChv+91yLoCSoLk3K61Hj8EUu6LLW7nsemOZoGyX8SQzEZKzbZ46Dp8KB9loFrNdOzhvAA37zVhuVxvYEz/jNPSci543DYeyQIwC6020+mOmzAx1KcX0qgtFtHAzdaXo6575KJxLiCSZIGPd1S9TjBQs/y6t/JM7Fal7M2yrDPbawOBI5mD3VQfvc3PwZOhp5IZ3LdyTei2zOFhfyIcdCU93lBbDpZ5BZ3onzIOO6vBcsLrAImwysM6fn8ncV7EO8btQdX+sxMHqISJ74CTGLeacbBMRUT5b413/3TFZpQPLStuvmNZZ7f9/7dyMI1r2coF/SBGfPrazY8tyHdBJGXZOCWamaApHSt4SBlIykuB6F2PCy0CUdNCXw5eNsI1JGM3wPJkSVRwM3OtINXhY9DjHg7Kwl/8MogOBdlrQMUfWNNpkeFzOWfpEeaUbMl/IBvDC99JKS3F8JXbZsIcyqnJjM5az0D4E+x6u0zxJXA3p6Bta2sm3RBSX/oxLvrsWopuQjQynO02cyr9zDbNaLnX/xAJ7mYtQ6HxnDlv7SIcyFatg0WbOMYGh8qR6QalfA4AHTo/Pl0n6qp9kivWTtiCLzSqM8ez2pxlt+8IyQXvokgwZSaI3tg6fR24vHnJ4ZHOvhlq2VJ3IAYE1rnCdfziPAASxAVm1cc6QDurIa+rEr3zb2Lfnv6W1ce3MBdamjx0rTHUqb7FcL0aVe/6ngmrpeP6CMB0YUyea83AddpVAFpwWOyHAfa72sV 6CRWKH6J 7uCoiC7B80rsZhc+aprE5Dr7oJVzXvWcgtJhG3WTn6vwiFa+iTVz4qu75kT8LYVkIwtGeY/UGJoBceK4RqF/Gr6ihRnyM0sQB7VMWxJTqxCipFOyWb1E2lELS4kuWrM9tFOzfcEhCfn2xSCieHvBsPrB5J7peuFB6/XXQfCQzXwJGGFR3tGOWRn9ZPc2UOxtGbAcpKQJWPbWMxnbBvhP8Qod6C19Ypf+RMczQNEZbhebajbqdpkX+eiG4gbHH+QB12UgK/QIuG8wAZ9w5+lzeHaMu4FXWKSWDBr+jKk8HDokrirDkTEqs7hgwVC4QV4r+b52uaRWoJyJPl8U= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, 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 Mon, Apr 07, 2025 at 11:03:05AM +0800, Baoquan He wrote: > In __get_user_pages(), it will traverse page table and take a reference > to the page the given user address corresponds to if GUP_GET or GUP_PIN > is set. However, it's not supported both GUP_GET and GUP_PIN are set. > Even though this check need be done, it should be done earlier, but not > doing it till entering into follow_page_pte() and failed. > > Furthermore, this checking has been done in is_valid_gup_args() and all > external users of __get_user_pages() will call is_valid_gup_args() to > catch the illegal setting. We don't need to worry about internal users > of __get_user_pages() because the gup_flags are set by MM code correctly. > > Here remove the checking in follow_page_pte(), and add VM_WARN_ON_ONCE() > to catch the possible exceptional setting just in case. > > And also change the VM_BUG_ON to VM_WARN_ON_ONCE() for checking > (!!pages != !!(gup_flags & (FOLL_GET | FOLL_PIN))) because the checking > has been done in is_valid_gup_args() for external users of __get_user_pages(). I will also note that you changed the flags check to VM_WARN_ON_ONCE. I guess this is fine as we have the WARN_ON_ONCE version in is_valid_gup_args(). > Signed-off-by: Baoquan He LGTM, Reviewed-by: Oscar Salvador -- Oscar Salvador SUSE Labs