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 B0047C54F30 for ; Tue, 27 May 2025 13:23:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 53C236B007B; Tue, 27 May 2025 09:23:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 513896B0085; Tue, 27 May 2025 09:23:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 429DE6B0099; Tue, 27 May 2025 09:23:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 22A476B007B for ; Tue, 27 May 2025 09:23:56 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 967F85CAEF for ; Tue, 27 May 2025 13:23:55 +0000 (UTC) X-FDA: 83488755630.05.E5DDFE8 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by imf19.hostedemail.com (Postfix) with ESMTP id D54451A0011 for ; Tue, 27 May 2025 13:23:51 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf19.hostedemail.com: domain of pulehui@huaweicloud.com designates 45.249.212.51 as permitted sender) smtp.mailfrom=pulehui@huaweicloud.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748352233; 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=8CPPEcPLhw1bZUqibgw62VQ13Q3Sn7aDW7zr45kGqik=; b=5+P+2CzmFb2BKFVyocENg9jDQJo258TyIs+1VZAIK8vwTnzK5MMK5bK07oqkKEvsnfzIHQ PnYieOow0psTUUUb4rPaEvUOU3BN84jf+Mq59dySq9HIG8Nq+3k1g/awniVkl8hiFNAE7m c+2EizA7XkDSYnjEevBhRgkfhjZ8Lak= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf19.hostedemail.com: domain of pulehui@huaweicloud.com designates 45.249.212.51 as permitted sender) smtp.mailfrom=pulehui@huaweicloud.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748352233; a=rsa-sha256; cv=none; b=UL3fURtYST0eB+l5+9A8lHq3w0WQ2I3SorkpoxskkJGNDERbJyOEbJBBj5kDTv4+FVG7cM M6fU2XGlHdIPfGv+2j7q63Q/21tHVFDZ1X7cgXsBbTpEz6FZHppuaElr8JihDKL+XKXn4k g+CitnyyZydueZL8+EBhum2ZmNEw/ao= Received: from mail.maildlp.com (unknown [172.19.163.216]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4b6Cxp5XFnz4f3jqb for ; Tue, 27 May 2025 21:23:26 +0800 (CST) Received: from mail02.huawei.com (unknown [10.116.40.112]) by mail.maildlp.com (Postfix) with ESMTP id DDD0B1A19A2 for ; Tue, 27 May 2025 21:23:46 +0800 (CST) Received: from [10.67.109.184] (unknown [10.67.109.184]) by APP1 (Coremail) with SMTP id cCh0CgA36HjhvDVoLKDUNQ--.11216S2; Tue, 27 May 2025 21:23:46 +0800 (CST) Message-ID: Date: Tue, 27 May 2025 21:23:45 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH] mm/mmap: Fix uprobe anon page be overwritten when expanding vma during mremap To: Oleg Nesterov Cc: David Hildenbrand , lorenzo.stoakes@oracle.com, mhiramat@kernel.org, peterz@infradead.org, Liam.Howlett@oracle.com, akpm@linux-foundation.org, vbabka@suse.cz, jannh@google.com, pfalcato@suse.de, linux-mm@kvack.org, linux-kernel@vger.kernel.org, pulehui@huawei.com References: <20250521092503.3116340-1-pulehui@huaweicloud.com> <62b5ccf5-f1cd-43c2-b0bc-f542f40c5bdf@redhat.com> <13c5fe73-9e11-4465-b401-fc96a22dc5d1@redhat.com> <4cbc1e43-ea46-44de-9e2b-1c62dcd2b6d5@huaweicloud.com> <20250526154850.GA4156@redhat.com> Content-Language: en-US From: Pu Lehui In-Reply-To: <20250526154850.GA4156@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-CM-TRANSID:cCh0CgA36HjhvDVoLKDUNQ--.11216S2 X-Coremail-Antispam: 1UD129KBjvdXoW7Xw4DJr4ftF4kWF43XrW3trb_yoWDArgE9r W0vryayr1DZr1Fva1Yyws8ArZ8K3yDAr18t34rWry7t34DXFn5urykCryfXa43uws2yFW5 Wrn0vayIgryUWjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbxxYFVCjjxCrM7AC8VAFwI0_Gr0_Xr1l1xkIjI8I6I8E6xAIw20E Y4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kEwV A0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x02 67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I 0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40E x7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lFIxGxcIEc7CjxVA2Y2ka0xkIwI1lc7CjxVAaw2AF wI0_Jw0_GFyl42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4 xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43 MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I 0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWU JVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUF1 v3UUUUU X-CM-SenderInfo: psxovxtxl6x35dzhxuhorxvhhfrp/ X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: D54451A0011 X-Stat-Signature: ibjfk6pnpmiem9f61ndbd6tkp9ttakgu X-Rspam-User: X-HE-Tag: 1748352231-617888 X-HE-Meta: U2FsdGVkX1+aNgKuW/sJ5ADetFWt/FOKTp1WPyjRQVDbFdHj1ExgQrb6/LQYDLQ6f6SfEJpmmltl8qsRTIfXGX4EXx4/nS7CJ175IYhl8w/hCIEY4CYKrVJITbP4+qRxPl5aZebyUqKyKbbteO1MJ2IzkSGnLfL+oR1KhJBE23vP6neDIhZh/62EHSwTv0Ncy0tje9mZvgyPmVexs7f6W4XDnDfh/bK8VXSwMrYzNMKmG+CFR5kvJuby1Owd5POQV4RaofI+nWriEmKDwflNGR0z8hbUiP7FbrpcATh1Jpa1zMVihXtgxlLgggIcvX3aUb+pMUplNBSR4cN3XWfsKK7S+iRQkVJbhqyZI8f8+AVBJl29u86UGjnHWOJystvTssSNRvYESaSlVArQZcg2FzwYWOHiysQ6TC1PPq9yp4KKePNM7mpOZ1lfGBxAfG1RZzevszb6yisc4heTQl36Nxb29asC3sTSMjgrLzmvK7hPHVPb46AbAqjhLjr2ib3CC1LVIF9Xsxy2loodZdqosO/9AYTc906sBviaU6KQEAY31p6+4QI6Nazm0UtrHGRpy49LBU4Q3YaCuvZu+zhjvdq5WbglDDUgZV6TF98wLASDZA9JdMnSNWQNGPRPqP9IKDecMIirNhELm+LpjBHNtV14U5yvUtzWPH4yDhg+rR3Dnry/7oVNxy136KkdsyNhvx3YDe1vsJ9nOIVMUnk8aM92HMrZyaUOE7wA63bx8xGkwb6M3riLCs26gR85fQwm1mGs/KpVM7g1/ynJRe3J4dXtUIIGYHo7SHdJhkfTxFgkifkJr8iddbxjbrJ86466S0+0Iek5JzwR7hvqWR06H5PsUWPRv8US0rZpN0OqOs5Iq0VnD8DkNwSGDHW6+2wYoLQzjEJ5mGuRUgezdD6enZdILjWpRfUbkuPvU8F4XdHadbC/jXYIop9/FWDuAO4dGItv7tTefoIUv4XCRN0 9jyqB4T5 GZfSvLm9QLr5MtBEn1Hg/34bG4mu8zamCAH+jJhhSr2UXbaw0FOfW8Yh7OOaihtqoIppRozRtWyqlsNErbeXBzqozXF1pTy4kTeAdmMj2clshnkbUVFyRW69iNDRBXxVcGhDeGFzdzhylfYTuqWxWu60KP7hqULjGNHSV 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 2025/5/26 23:48, Oleg Nesterov wrote: > Hi Lehui, > > As I said, I don't understand mm/, so can't comment, but... > > On 05/26, Pu Lehui wrote: >> >> To make things simpler, perhaps we could try post-processing, that is: >> >> diff --git a/mm/mremap.c b/mm/mremap.c >> index 83e359754961..46a757fd26dc 100644 >> --- a/mm/mremap.c >> +++ b/mm/mremap.c >> @@ -240,6 +240,11 @@ static int move_ptes(struct pagetable_move_control >> *pmc, >> if (pte_none(ptep_get(old_pte))) >> continue; >> >> + /* skip move pte when expanded range has uprobe */ >> + if (unlikely(pte_present(*new_pte) && >> + vma_has_uprobes(pmc->new, new_addr, new_addr + >> PAGE_SIZE))) >> + continue; >> + > > I was thinking about > > WARN_ON(!pte_none(*new_pte)) > > at the start of the main loop. > > Obviously not to fix the problem, but rather to make it more explicit. > > This matches the similar xxx_none() checks in the move_pgt_entry() paths, > say, move_normal_pmd(). > > Oleg. Got it. It will help identify problems in time.