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 EB44AC7619A for ; Sat, 15 Apr 2023 11:40:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7F6C46B0072; Sat, 15 Apr 2023 07:40:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A71F6B0075; Sat, 15 Apr 2023 07:40:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 695446B0078; Sat, 15 Apr 2023 07:40:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 597846B0072 for ; Sat, 15 Apr 2023 07:40:54 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 210FB40127 for ; Sat, 15 Apr 2023 11:40:54 +0000 (UTC) X-FDA: 80683433628.14.893DA78 Received: from www262.sakura.ne.jp (www262.sakura.ne.jp [202.181.97.72]) by imf10.hostedemail.com (Postfix) with ESMTP id 855ECC000A for ; Sat, 15 Apr 2023 11:40:51 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=none; spf=none (imf10.hostedemail.com: domain of penguin-kernel@I-love.SAKURA.ne.jp has no SPF policy when checking 202.181.97.72) smtp.mailfrom=penguin-kernel@I-love.SAKURA.ne.jp; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681558852; 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; bh=HcJ1DXO/cNPDIHbACarj4taxT7JiBP+ZdFpNxHg/aPU=; b=mHbKpsEebzJFTDrkS89CUBOJy7IY1XLj7MKeDtG4wkP6J8+JQYs77tAf0HsLz8WNR2vram tu4c5aFoukINt52ybns/Ilh9s7MRGHgNzz5DDYVNdgxNcsJe+EV3f4qWRw9YI0omalfXi1 kr8Sb25g5a+DIOcUSpPCuWP7mm7Ioo4= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=none; spf=none (imf10.hostedemail.com: domain of penguin-kernel@I-love.SAKURA.ne.jp has no SPF policy when checking 202.181.97.72) smtp.mailfrom=penguin-kernel@I-love.SAKURA.ne.jp; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681558852; a=rsa-sha256; cv=none; b=1pofWeU8Lz1gz7jjfBuZyD+QgKaSmxQkzfzg4DION31pfwOf5vlQRxMQHnISxW/DxixgTu ofQey//t8d1+TXm4Qg3i+9qynX76hUBoNzM9YSnhnk/irAT5HJjTzks5Mdzs3ZsMusKfK0 FMJh0j/Pi/H/4lM0waBoYDwQBeyynac= Received: from fsav313.sakura.ne.jp (fsav313.sakura.ne.jp [153.120.85.144]) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTP id 33FBejk0089125; Sat, 15 Apr 2023 20:40:45 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Received: from www262.sakura.ne.jp (202.181.97.72) by fsav313.sakura.ne.jp (F-Secure/fsigk_smtp/550/fsav313.sakura.ne.jp); Sat, 15 Apr 2023 20:40:45 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/550/fsav313.sakura.ne.jp) Received: from [192.168.1.6] (M106072142033.v4.enabler.ne.jp [106.72.142.33]) (authenticated bits=0) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTPSA id 33FBejwe089118 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Sat, 15 Apr 2023 20:40:45 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Message-ID: Date: Sat, 15 Apr 2023 20:40:44 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH v2 3/7] mm/gup: remove vmas parameter from get_user_pages_remote() Content-Language: en-US To: Lorenzo Stoakes Cc: Andrew Morton , linux-mm@kvack.org References: <631001ecc556c5e348ff4f47719334c31f7bd592.1681547405.git.lstoakes@gmail.com> <63d92734-2185-439c-bbc7-53a4720f5d4a@lucifer.local> <65e79cf8-8713-4d2d-7a50-76d7e2aa454a@I-love.SAKURA.ne.jp> <64ae6557-0e46-48a8-badd-af8993645330@lucifer.local> From: Tetsuo Handa In-Reply-To: <64ae6557-0e46-48a8-badd-af8993645330@lucifer.local> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: jgugcor3681dpj4m38ofboiwk5wptmi7 X-Rspamd-Queue-Id: 855ECC000A X-HE-Tag: 1681558851-995119 X-HE-Meta: U2FsdGVkX18Q0Z/q85Gnh0VbTLXjrlPiwndjArVvZaoPGCtxLRwk5GkPgITdnQXIJPICykuVeHwnnpqUnerAKBiW6Wo4Ht/ijpdThyNw8w6VVSUJ7Crlf7jX8JRZSPHVQN4iHxoddlqdnjgU9cSm1rhDfKxFYDezkI5sOEQcY1dhxuWKtKICP605w0LLvyO+xETwxjtMPKEqy7b6wD5z/gnrXA+qXkXeBulvZI7Xsq9MRLd0eZFrtdkp+8mcB6fQoNa9AEpODiC4I7Ed1xLD6MUIaAPZs8e/ImuMfShe/4d8vXxfBbuGjSuDSob61wHAyqYIMWdLUBTY3xFw+ZjEgqs6TtLVWBTzhfjz3hwoP7ZCCy0lIZh4l/iEhuhgUfKccwkqbHp20cRangZcYx5nJQ/FuCquW/8Nr6yKHUkn0Q/rUBCXuOFgP1awRwxaWpHjP+Caf5Oft+7KMf5bxvT/H4SssMTjt6+2zHUXmogtvWPusen7XenDe9a3j8ZL8btp768jNj83B7Ojf9kEUIpqGpW8JtqgKp00yksnloUZi1VyT+OZ9PaLZ3XQxSJJiJbBf0ppeu3S3NRgtaR2z3i5uuplSSINUpdx5uiE18xYY/YLcEv01y/12V25TXCWftEizG04y2SWWMwwA3xHjWg6U3ab9pQrJBgblj+WwlJ+Dw7zTfMptouGmyv4uOXNUiEt+KLLUVP9h+IpjjN/A4gXFozTiLmaxlI6doRYk+AMwJYp1pr2KEY2xvEifTtyqopn1miEewMDC5/+qMfLtjnW3cihnEe6Aq8chtdzpSpvZ/ZNDjUdZw733+RzpDi0CkiNmCCXRf8pzhE+ht6Lsq6KgtbDF5OnvWUaI4rCD6SNIrVXbwyNlQif4K392uLSZGsYYL5j1DxhWIWymIoPgEzkVoU8iFCzbfIVtnyxnilfyKW7UMIXyqegGFYDfGBmJB6cf7WAMW2WXKHxLfx6b4k M1sAqwjX k4k1XOJ9Q6ddCZB+CAq3Im9u0bzkU2hvWhpI+i6o4JfFwU/8oz+0BnC28/o9LaFga1QAGNkeFjK0T6R43GjbfIt5RZRxR6pFlxg7PFTTk96xHljgfV59S8NwGxIV/o61XnK2ucabdux34k+ztLo6dIRtq9KCpaH62TCXAJcqMbbwNeg0MbJYeojwGUpDvXMZef+zdteBo3FUEnpqB9ZCOartD3GwQHbSB09jEkPkMY4+9sIbEwCmVoXriQmqT9jMxBl8Qwm+tZWMepKTcczjPwzu3yw== 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: On 2023/04/15 20:27, Lorenzo Stoakes wrote: >>> @@ -5617,11 +5618,11 @@ int __access_remote_vm(struct mm_struct *mm, unsigned long addr, void *buf, >>> bytes = PAGE_SIZE-offset; >>> >>> maddr = kmap(page); >>> - if (write) { >>> + if (write && vma) { >>> copy_to_user_page(vma, page, addr, >>> maddr + offset, buf, bytes); >>> set_page_dirty_lock(page); >>> - } else { >>> + } else if (vma) { >>> copy_from_user_page(vma, page, addr, >>> buf, maddr + offset, bytes); >>> } >> >> not calling copy_{from,to}_user_page() if vma == NULL is not sufficient for >> propagating an error to caller. >> > > This is a product of wanting to avoid churn, again this condition is simply > impossible. Also as a pedantic side note - the loop explicitly indicates no > errors are propagated, so there is no need to do so. Since __access_remote_vm() implicitly indicates an error via "return buf - old_buf;", "buf += bytes;" must not be executed if copy_{to,from}_user_page(bytes) was not called.