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 BA331C5AD49 for ; Thu, 29 May 2025 15:54:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B3FEA6B008A; Thu, 29 May 2025 11:54:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B17E26B008C; Thu, 29 May 2025 11:54:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9BA2B6B0093; Thu, 29 May 2025 11:54:45 -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 5D8AB6B008A for ; Thu, 29 May 2025 11:54:45 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0E7FA80B83 for ; Thu, 29 May 2025 15:54:45 +0000 (UTC) X-FDA: 83496393330.26.8F9D2E7 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by imf28.hostedemail.com (Postfix) with ESMTP id 93753C0005 for ; Thu, 29 May 2025 15:54:42 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf28.hostedemail.com: domain of pulehui@huaweicloud.com designates 45.249.212.56 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=1748534083; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=re0nBGxl3iJuiMw+pbw8ZO8SikFrU+qz2SFwgSaX9Jg=; b=LuEy360AK8cSniCriore0AyiebDadIbHigRgfEt7vq6i+NmXhRzKJhsM1BWxIncqmCOpYR k/pQCWk+4X+Pfo54YpE8npF0gyLmkBxOxFD47Bjmt+RFwuAB9D2wHtD4t/s/m5hVLeo1ex PI2HieBDiz7pJngDTquBQIuc828QCjc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748534083; a=rsa-sha256; cv=none; b=x3IatADlmEK4BlLN+GK3PEoEnfbmvqbq84Sv5Pq8136PXsRSLlHsR2y3q4CFt84+XHqR+u me5yzs3u+s1j5iHvghFDtjN9MzkNtnxd8mQTydd8qD6fSEB8faFNNB3SEjBZF6SfWkXvWE 36mWxakLnxYDdqwavY8P79a9NJVJrag= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf28.hostedemail.com: domain of pulehui@huaweicloud.com designates 45.249.212.56 as permitted sender) smtp.mailfrom=pulehui@huaweicloud.com Received: from mail.maildlp.com (unknown [172.19.163.216]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTPS id 4b7WCF2Zf5zKHMn1 for ; Thu, 29 May 2025 23:54:33 +0800 (CST) Received: from mail02.huawei.com (unknown [10.116.40.252]) by mail.maildlp.com (Postfix) with ESMTP id C33E91A1599 for ; Thu, 29 May 2025 23:54:31 +0800 (CST) Received: from ultra.huawei.com (unknown [10.90.53.71]) by APP3 (Coremail) with SMTP id _Ch0CgBX98EzgzhooMK5Ng--.57784S6; Thu, 29 May 2025 23:54:31 +0800 (CST) From: Pu Lehui To: mhiramat@kernel.org, oleg@redhat.com, peterz@infradead.org, akpm@linux-foundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, vbabka@suse.cz, jannh@google.com, pfalcato@suse.de Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, pulehui@huawei.com Subject: [PATCH v1 4/4] selftests/mm: Add test about uprobe pte be orphan during vma merge Date: Thu, 29 May 2025 15:56:50 +0000 Message-Id: <20250529155650.4017699-5-pulehui@huaweicloud.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250529155650.4017699-1-pulehui@huaweicloud.com> References: <20250529155650.4017699-1-pulehui@huaweicloud.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID:_Ch0CgBX98EzgzhooMK5Ng--.57784S6 X-Coremail-Antispam: 1UD129KBjvJXoW7ury3JF1xCry8KFyfJrykuFg_yoW8uF4fp3 WkAwn8tw4rKw13t343Zryq9a1fKrs7Jr47t34fXFy8Z3W7tr9xJF40kFyDXFWkXrWvqrn8 C39xJFWfCrWUXaUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUPSb4IE77IF4wAFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k2 6cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUAV Cq3wA2048vs2IY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0 rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x0267 AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E 14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7 xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Y z7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41lFIxGxcIEc7CjxVA2Y2ka0xkIwI1lc7CjxVAaw2 AFwI0_Jw0_GFyl42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAq x4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r 43MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF 7I0E14v26F4j6r4UJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI 0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7I U1aLvJUUUUU== X-CM-SenderInfo: psxovxtxl6x35dzhxuhorxvhhfrp/ X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 93753C0005 X-Stat-Signature: c7gnxq4y77m8m9of9g38wyoky3d53dw1 X-Rspam-User: X-HE-Tag: 1748534082-638966 X-HE-Meta: U2FsdGVkX18d+6Qb7RGGq6dKeQqh6AtifQH23/3wMJP6XgNnkxs+Epjsr63KoZuD+YhSQqd/mQwbTu68L78/APtw8H3QGZ8BLhX0Jrr4ZHYwppirFPA61mcqea1ZUlgidzT141zi634wDqkxFqfphVruidRlMvfK9RhPswKzJKw7AxklDay61YWH1EimVmtEBvZ8kiT8MgR12G9R6ZAB2juYwuT9lJ/Lmsm2bjL+hfjmFEnGn3HGxGXjG3hWtbykWrs6j7vCu+M7u6LMfihIej4dQK9X5fVz43HkTTtDHBacTD2fKz6IVkMofzPrlXi1lswLo+StS0Zguq9hxBqWTnM0Kdkn5wz6OzLUfN6YymHjB75tHJ7IdYi8D1ttkE6/MpsOnwHeXnNy5EPys8Z6998FK3NtGtE0+NJME7avf4lt4VSSeiv7jg9PkqxbRw5qOx80A0FQDHxI2jc9t79RZr0kch3MVC3CYZQqq4qHIbv21iceVzq0RmQQqMcrHTN1NCgb6HeyZf/7zgsHhmJvpYpAUZVWp/uIEgRMuMP5dSoE2H1PAvSBh4AJE+uh6JqJlJUJ9wOARZJJ1GFkai+g0SmCyBV7du1nalLyqKA05bk03Ld6n+Sjzq2z5aIr6JudUcR3Fg8XDSo+5YBvGjxuFfW/G6Pk+/PZrGoU5dykzDEXP3jSWxEVpeo3JfujJbQ2W8Yxg82gv6u0EwCMz8sk+YoD4fppS2xdGR6BxN2/l5Hd4wyYq56uk9kpcRvtoGX18dEzjYmGvMKv4VGXfjbnydNFNRy7hnqt8MAJXjGJ3W/jREB4cKFhVJR313p8y8Qndd7ngrkiNT+3MEFapFR1TDYCyv6+dm/sbAl9qumf82PzzZP4mXWLWQtxshwuiTM7ff6hjblk1/8+RSzvDeoB2QEou+LvECXq5WYrUnWHgYsAG5pNXv3pCSDFJkQJ0E9M0a5DxPPvaGXD1lcflXr ClY60z4k HJKlLvQPdBUTPYRS81OUBMtzjPZKcq/MeUqeEKe3EBd+AZlZrvEhBqeW/42+DXnEeAAzMeuIIagudPHCtGniIZPWG9wkWCHe8ADBDj7lFQf1chqyLMEEq6YgCh/HXYxK17+lCJ2PJ4I0EcnE+X4T21dqOEQe11gtfJ0YJdMtUTs3ZETE= 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: From: Pu Lehui Add test about uprobe pte be orphan during vma merge. Signed-off-by: Pu Lehui --- tools/testing/selftests/mm/merge.c | 42 ++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/tools/testing/selftests/mm/merge.c b/tools/testing/selftests/mm/merge.c index c76646cdf6e6..8e1f38d23384 100644 --- a/tools/testing/selftests/mm/merge.c +++ b/tools/testing/selftests/mm/merge.c @@ -2,11 +2,13 @@ #define _GNU_SOURCE #include "../kselftest_harness.h" +#include #include #include #include #include #include +#include #include "vm_util.h" FIXTURE(merge) @@ -452,4 +454,44 @@ TEST_F(merge, forked_source_vma) ASSERT_EQ(procmap->query.vma_end, (unsigned long)ptr2 + 5 * page_size); } +TEST_F(merge, handle_uprobe_upon_merged_vma) +{ + const size_t attr_sz = sizeof(struct perf_event_attr); + unsigned int page_size = self->page_size; + const char *probe_file = "./foo"; + char *carveout = self->carveout; + struct perf_event_attr attr; + unsigned long type; + void *ptr1, *ptr2; + int fd; + + fd = open(probe_file, O_RDWR|O_CREAT, 0600); + ASSERT_GE(fd, 0); + + ASSERT_EQ(ftruncate(fd, page_size), 0); + ASSERT_EQ(read_sysfs("/sys/bus/event_source/devices/uprobe/type", &type), 0); + + memset(&attr, 0, attr_sz); + attr.size = attr_sz; + attr.type = type; + attr.config1 = (__u64)(long)probe_file; + attr.config2 = 0x0; + + ASSERT_GE(syscall(__NR_perf_event_open, &attr, 0, -1, -1, 0), 0); + + ptr1 = mmap(&carveout[page_size], 10 * page_size, PROT_EXEC, + MAP_PRIVATE | MAP_FIXED, fd, 0); + ASSERT_NE(ptr1, MAP_FAILED); + + ptr2 = mremap(ptr1, page_size, 2 * page_size, + MREMAP_MAYMOVE | MREMAP_FIXED, ptr1 + 5 * page_size); + ASSERT_NE(ptr2, MAP_FAILED); + + ASSERT_NE(mremap(ptr2, page_size, page_size, + MREMAP_MAYMOVE | MREMAP_FIXED, ptr1), MAP_FAILED); + + close(fd); + remove(probe_file); +} + TEST_HARNESS_MAIN -- 2.34.1