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 AEED6C00528 for ; Thu, 3 Aug 2023 19:07:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 179DC280297; Thu, 3 Aug 2023 15:07:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 12A9C28022C; Thu, 3 Aug 2023 15:07:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0199B280297; Thu, 3 Aug 2023 15:07:02 -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 E70B628022C for ; Thu, 3 Aug 2023 15:07:02 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id B983A1212F4 for ; Thu, 3 Aug 2023 19:07:02 +0000 (UTC) X-FDA: 81083725884.26.C77B60F Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf11.hostedemail.com (Postfix) with ESMTP id B91A740032 for ; Thu, 3 Aug 2023 19:06:59 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="dvdgrP/N"; spf=pass (imf11.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691089619; 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=qFYzrSS5XNvQWAYfcj9a9H/bevzOTd1j3Mu4MDu2J6A=; b=UXA6vAbIPKVCHVXjmP4YRC/20QMHAxn9OFfVcQwXf1/Bw81B48KxRPEbMTe9+qz2nIlq+/ aSNGtvUZNjp4LyGFTYLV+y4jz3R8brKnfC3j2OsAh1UjEbaxXwhvQGrkeo8e8Zhxozji/6 QqMDs807nq2o1PNH0O6XQZQ2EESjtlE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691089619; a=rsa-sha256; cv=none; b=3xfSE2kFy7Al4Vihpz6j1bm9ix3ssl57CLIQzzl5nVrKmK2t69NoYBNrs7bCHzv/cu8Xjs K3A8vvt95iQv39bYRI/l3CyeoN5Ecsu5+GfW9AUwxsh/FR0IGiYJYYjf2DOBi7jAPFbP1W /GtPecRM2rTdJ1kr9KacTm/wHs4gptQ= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="dvdgrP/N"; spf=pass (imf11.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1691089618; h=from:from:reply-to:subject:subject: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=qFYzrSS5XNvQWAYfcj9a9H/bevzOTd1j3Mu4MDu2J6A=; b=dvdgrP/NJsHgITqM+kezQIyc8SZYYkJBLauQ++4tiZCNz6ka67E77Ms8P0pT83xzTOAGZ9 asEXtLDOYLIL1UrSagSEGZlsf6apYJc1bbYult8H2B3GtnFKscUIq5wHj1FoIZ3Ur+Gff4 t1f3mpTdI1U1wJK4Q11uS6n9gxYFEfw= Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-292-Yv_KCz8HNbe0Q30R67mWdg-1; Thu, 03 Aug 2023 15:06:50 -0400 X-MC-Unique: Yv_KCz8HNbe0Q30R67mWdg-1 Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4059b5c3dd0so3062711cf.0 for ; Thu, 03 Aug 2023 12:06:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691089602; x=1691694402; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qFYzrSS5XNvQWAYfcj9a9H/bevzOTd1j3Mu4MDu2J6A=; b=fqQUHQ5dvOsweIKGgDJyIv2M+hgoqL2ucBGqdd/K3jfpicYL0tC61+HslHv+X54gJ4 +ooHmC27Mb3GUC5J+nMKOtRDcGZH1Hux9d2RrH5afR/AENxvkE/Dq+H4GbP96/qok3nM XUvkF367pT+B9++xH4ZX0O7S/0Sq0cXNGXmI3xEA1mLz3gTtDfCu17Djvx4Vxr8Mm5OJ 6D2WM7yjHnCNpY1MrL1JRXqekEdZ9dd+W/qtJOmH+Hpbwbu14NVklAerYO4HyR01Z974 lVVWq3qYMtae8ERFNfRdfeDod4g3yQHjWl7dnSmmSvUB5FK3IZnILw1tQKH8WylB14bk OkbA== X-Gm-Message-State: ABy/qLb9tsOeovyoPqPyhg3ngX3JKQqQM0oDyEC2CrSYcnIaDD88+lm/ UXCqbbaIBq3WFcVnpGEomXAOSjEAaT10Fr2xDxrf/aPCfY9FR0mm5nMfzkfUvhrmPkTjEBcWeyf JYfi8Bq92OlI= X-Received: by 2002:a05:622a:1828:b0:3f6:a8e2:127b with SMTP id t40-20020a05622a182800b003f6a8e2127bmr20616715qtc.5.1691089602288; Thu, 03 Aug 2023 12:06:42 -0700 (PDT) X-Google-Smtp-Source: APBJJlFizsiZjzbYNwIPp/+9OLfOtrHLxCg3OVOqwnveu9rIN6TWoLqQWZIyH+9ZlPvwA+YrlWrJVw== X-Received: by 2002:a05:622a:1828:b0:3f6:a8e2:127b with SMTP id t40-20020a05622a182800b003f6a8e2127bmr20616681qtc.5.1691089601995; Thu, 03 Aug 2023 12:06:41 -0700 (PDT) Received: from x1n (cpe5c7695f3aee0-cm5c7695f3aede.cpe.net.cable.rogers.com. [99.254.144.39]) by smtp.gmail.com with ESMTPSA id oo13-20020a05620a530d00b007339c5114a9sm111503qkn.103.2023.08.03.12.06.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Aug 2023 12:06:41 -0700 (PDT) Date: Thu, 3 Aug 2023 15:06:40 -0400 From: Peter Xu To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, Andrew Morton , Linus Torvalds , liubo , Matthew Wilcox , Hugh Dickins , Jason Gunthorpe , John Hubbard , Mel Gorman , Shuah Khan , Paolo Bonzini Subject: Re: [PATCH v3 7/7] selftest/mm: ksm_functional_tests: Add PROT_NONE test Message-ID: References: <20230803143208.383663-1-david@redhat.com> <20230803143208.383663-8-david@redhat.com> MIME-Version: 1.0 In-Reply-To: <20230803143208.383663-8-david@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: B91A740032 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 5dr7d9836ewhjfryaeppeit3dxp3dpic X-HE-Tag: 1691089619-181403 X-HE-Meta: U2FsdGVkX1/qm9Xu9bX+x4wM0hgQhR+jJg4kEN5pDluxZelGPlL4vFgo9/gAiftB6khuXvG0wjn4/eJtkOldxrLM+tkpMreTJKjjhJOejBOETRLYcyR0nMXXZF27xF0CvxNFqVK0GFz7GQzPe+yjVElEYqAUEXYyZwgqKEPe6IUCRsEgrZw8U/zRdxCHmt/61v0D5In+xr0oy8zleKnIGmHak/+YrRqJrUWV0Dd3XGJCYwf/TQVERLdrfIf5b05dlnMusbVSimw4RfvZMIOa6Z/URZAkljI3s0EVDBn3FWgrfHAQ09ANXIPU5klK4dyEKTGYR4K4DlR+1qY7hKI+slGdbvjczVwTX9/QNNIuVLJZRl8LZgjbT2VRCco3Iu8taBzzbo019FrHO2/+A3cDbVu/leFnCKcppngwG8QPEse9ggaApIGFc0ZrbeugWdPeV/yKv6NvrZj/P5rP/ebcF7FQIveYU9M/DvrzPH8X1JZmanqkQ7BtSxSX9XwNeLYJXvIhtIn0h8UfOGXzvzI4XHNI9rn9BxO7Gi2jzN5MoZRmXQj9hTeDHHzwPS+z72uPWBKtmwk/oSTDWdmoSYXNMLLHmOnUXyFqOk9CIgTMTGTJbB8rkOMkb+vzKfVttiXZ/2GXwwVBuYEzmM3OOAirpzm+SdhiAXUSeok0LGdtoSAkmzMi1TDwWjZOnrvd8o5+q2uwj525e7YnyHFYBkzez4xz79cpjfISVLRNpDXTocu5E2ZPdodAcXFxtDWQvkdD8O2EQ7CmGbpkJLr0kOlpdnJaiM63qb6K2HFxxmCFS2EamQx62w9P5hZUT8UqC2VLhlxCUF1q9njxv4Y1HHjDzFrmC2tt7nVZ/c3hdcUdtZz3MhEXMDj9UHgrbf8jLkuQKpDB4+YJDedbMguCDr6ZLs+9K96ck9cxIwPs6n1uUCU4jLZ9kTVxxdMo6/O0j5lqubnZKbK/X6N4H3CTxeF MeTUG5cz 7q4ZrqEDayd/uC5A55oPHbU7ocGbpnngrTWuLlBmsWYsN5fwYjZdfCusoZvFAkqmASEOwyB2x9bwheLkTVtEfeJYOJB6HLVJG6qfEVXFUmYm+E/WdJzghNqFZ1OAXFycL/QootAVQCNChqh24dQBGX78BUZJDCZ3m+Og3Ld/iZwqHz/0REk+uYNyNGQBtxCVegGrcQfsQGIHM/TeP206Ue2/rOp2aUFcS4Z5WbLaB1IGkSf/H2lkWtvb8SNWQvuYay4RNOPJB6+bfF3hg92cjHWjg8jQy2XJiM7J+KEeSGJT6UtDtkBjpSR7aBqnX3k0buyWB/pmY9LL7tYUHP/ETjwe2NcsLwpVvBFOLWCd07+jeJYwbx98fK90OUwKuvCeZPTsot2pr2hN0y6f7T5RlOVu6lZjoMMx88Ro5H7bt8mV6O1kWJl8UsF+rYw== 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 Thu, Aug 03, 2023 at 04:32:08PM +0200, David Hildenbrand wrote: > Let's test whether merging and unmerging in PROT_NONE areas works as > expected. > > Pass a page protection to mmap_and_merge_range(), which will trigger > an mprotect() after writing to the pages, but before enabling merging. > > Make sure that unsharing works as expected, by performing a ptrace write > (using /proc/self/mem) and by setting MADV_UNMERGEABLE. > > Note that this implicitly tests that ptrace writes in an inaccessible > (PROT_NONE) mapping work as expected. > > Signed-off-by: David Hildenbrand [...] > +static void test_prot_none(void) > +{ > + const unsigned int size = 2 * MiB; > + char *map; > + int i; > + > + ksft_print_msg("[RUN] %s\n", __func__); > + > + map = mmap_and_merge_range(0x11, size, PROT_NONE, false); > + if (map == MAP_FAILED) > + goto unmap; > + > + /* Store a unique value in each page on one half using ptrace */ > + for (i = 0; i < size / 2; i += pagesize) { > + lseek(mem_fd, (uintptr_t) map + i, SEEK_SET); > + if (write(mem_fd, &i, sizeof(size)) != sizeof(size)) { sizeof(i)? May not matter a huge lot, though.. > + ksft_test_result_fail("ptrace write failed\n"); > + goto unmap; > + } > + } Acked-by: Peter Xu -- Peter Xu