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 BE4FDC3DA4A for ; Fri, 16 Aug 2024 18:43:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A7768D00AD; Fri, 16 Aug 2024 14:43:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 32DFC8D00A2; Fri, 16 Aug 2024 14:43:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A8F78D00AD; Fri, 16 Aug 2024 14:43:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id E69098D00A2 for ; Fri, 16 Aug 2024 14:43:07 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9D852140239 for ; Fri, 16 Aug 2024 18:43:07 +0000 (UTC) X-FDA: 82458980814.28.F2E62F1 Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) by imf23.hostedemail.com (Postfix) with ESMTP id BFD64140013 for ; Fri, 16 Aug 2024 18:43:05 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=RdpISjiw; spf=pass (imf23.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.167.176 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723833772; 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:dkim-signature; bh=7w+w1c74f+1d3M1TPYvu6zM80KBCv4i0JfxRRa+Nwnc=; b=I9ADDWNS170i+Cq7eA4aDUJKKuKRVryr5HLWjvp76TI+CSmj2VStwhg4C92jYk898XgaFw xofecQSvEPCNMN34Hn8fH8I8/noqF3Im0wtr7LYLiqkI4sZzKNwBWF0vsOwKd6bInTzwRG sOWP4xbZpQMtzP8bt+0C94n0M+pI6cw= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=RdpISjiw; spf=pass (imf23.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.167.176 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723833772; a=rsa-sha256; cv=none; b=o2y9Li++2Q+YVNySQY1Ds67c8leDhZ/JCV9P+kdZ24GvYU2c3VB12ojmovQ16ntu4u5Wrg VyvRua6oUWkZaamvHslmktJLNK+zRfV4dNxXmdlnnye/ioPhCjfzW4+Xej4BZ4ptS/o7/J VY+/iPXoKmuLOGADIZyIv/UyQOfWT70= Received: by mail-oi1-f176.google.com with SMTP id 5614622812f47-3db23a608eeso1515574b6e.1 for ; Fri, 16 Aug 2024 11:43:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1723833785; x=1724438585; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=7w+w1c74f+1d3M1TPYvu6zM80KBCv4i0JfxRRa+Nwnc=; b=RdpISjiwmlHZR/xPLjD5c3WPBS480EKmoY6wtmzVX2kuxcmVi3tIicLXgfzjpm2c0b 3eHb72gNOpaKS/+7OR97psNdBJRLf9zGKLnMTB7fkHr1FQQOPQp8vVocaVFJo4ylJVXz cJhHln8VcRM/HQdkj3gmF3lg1SUNdf0xGwC2s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723833785; x=1724438585; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7w+w1c74f+1d3M1TPYvu6zM80KBCv4i0JfxRRa+Nwnc=; b=sWmP2h78n5SJNxfIx82N+7Rg8JvZjsL0xHmnWv1ieVoisRK0shiJeYElO5BORD7e7f n5WKLGqoXxVGNi+qobKDgV78grgsiW4va/QvD5JvLeL76L4lTI1JB/TORSpyYmcQDFba FMcQnPm7+X9T+Y5vt5sPgOuL1CDptyX+/vlWXowp+hFhe4NKupvXx4gurbh9KDRLugcL qmGOFNEN4ze9yNX/gEfblf9sBXsl9TVWm99Yp73ccYZ+OVnXp7s0ttYMQ8Ccw4MjatAa zBodKcM0w+eCRWOY72KK/cgJyaCeZhXiIpbMmXgWo3+cK/GC6mGXVv+c2la2sWtysY2L 4Row== X-Forwarded-Encrypted: i=1; AJvYcCUwUWywb9cZBp+1shHycwQsmJ+uranqoe0y/U8jwfGcano7CzDwDS9zNktlab2ce2a9fkTTBpZOSHg6rVf+Tq+5iq0= X-Gm-Message-State: AOJu0YzhwDMLvkpxRr8M002Z+VXRPmKvDGgK784+7D595eQru6+ry396 /gmiUPMkqIBY/BSS4Nz/v6dKrOwDKi4fJRZ+b2v8BXWzklWOUk7iD2bVhIkquk8tPAyUGN1FCfe mlmo25kcvXnGAYyeXDbhywMqPmaKTcIlm3H2B0gdss1iQkKM= X-Google-Smtp-Source: AGHT+IEb9nVsoMnqEjofIHu2YYl869A1a2zA2NEvY38PukHL8QPgfqV7UILDW8gwQXnbjf6Pn9EQdZiQCl3TjHz66d0= X-Received: by 2002:a05:6871:42c6:b0:270:2c7:e19c with SMTP id 586e51a60fabf-2701c095fd0mr4658566fac.0.1723833784751; Fri, 16 Aug 2024 11:43:04 -0700 (PDT) MIME-Version: 1.0 References: <20240807211309.2729719-1-pedro.falcato@gmail.com> <20240808161226.b853642c0ecf530b5cef2ecc@linux-foundation.org> In-Reply-To: From: Jeff Xu Date: Fri, 16 Aug 2024 11:42:52 -0700 Message-ID: Subject: Re: [PATCH v2 0/6] mm: Optimize mseal checks To: Pedro Falcato Cc: Jeff Xu , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , linux-mm@kvack.org, linux-kernel@vger.kernel.org, oliver.sang@intel.com, torvalds@linux-foundation.org, Michael Ellerman Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: msx51bmhhe9xkcqs9qg4wffaxgwxeq8z X-Rspamd-Queue-Id: BFD64140013 X-Rspamd-Server: rspam11 X-HE-Tag: 1723833785-598672 X-HE-Meta: U2FsdGVkX1936hn8GXu7fNJYB56RlyeEabXviH69BzLrz4CXc6UKECK45BQrbf7tCuFp1VoBGNRyrl2YgkQQVDRrM1beM+q2+RCg1KjD6C5DiD7XIU7ZkjQY/mdLztQSy9ioYoLsjKARM2TATbcZWNDFRr1OnjNZ4IrZXyegv9Pzx+4MGCdJThsRxVOmWmk2aCYM/M37uu30UJnoFU9rRTBTXaC0IiaWeTjrOat9zYPpJyeoey7pQ7zPeSkToS8eop19GPjM6zQbXf6RxkwbfGUq/laFPzrnMv5vVrKYJJ3xikagF0CzEK8IiOJMOLsshOWxp7C4OPk6s9Az0NE4rze3b1uF2NjF75VgzhaH3yU/YmtH4FFoVpDzQBHaqQiDh0/wJ7NIjBPD4Ur1oKrQcB74eVQzOmSN0w/wD8yDhEmpDlebiafyoa49JhUWZUkbbEQ6jxHiU9FjIhaJsn1ekowJZ5DtP1G6mtOVrUKjHrfuNyIWqPnzkNfeiyvxT/MXqdRk5RWrPBGqtdJs9mPTHNv9ZNiy6Hl/UJbyWcnKz43t448PhnprGxiUo28Hbs2Lvx/j+dZADieffVmig69FBkeLTDwq8ctcE41z+RpaW7A0JHWl+Q6EiDW/LnAsJdoyY/HStDq/ZVJD8Z69SCpbcuR1Z/VC9SwvCfKSPhNaE8UVtv1p5YPoaqxtlQMu4a/+iE9FF/q2taRuJNR6ZQBXccl6HoohUxJ99yB7DuNGZFhvuL2PJu2WPc+Brg/b4usII/CSQ3lh0JCvrpj0Ok4O5fD1AbugHNJ4YZkjcIENPjnJlx/Sptwc9T46PMGY71fEhIFl2J4QCj6FJA3SlO8I81apyPz46gxNPuf1nu0VfZnNg2NVFZmTwRp0UgQNWCxohclqGwC6LQk/SlashruhAWXufXuXXkS4d6P0ra3yXS1dD20Bl+UetNKuVPSGXJ0oTDZNqi6Al+YC/2WPMKl Ejfn3pec h7RTjuOt2EWC8l9te10A9ZjOcNED/fQWVE5n9uKlw4gD7z1ohln+7gzfJvAjHvHByo6m4GwTUycP2Ok8h+X6WEeBgm7bkyZTrixyFKksTloorLF4+Gf8JWH4dlbil3gJqGhDj3K0W4mEPckGVEUwHs8wBB0vfOImypj+7vLJyOKyj90gBvz2G7L6XeYInqw4lMkU5U9vw/yIJ+g/szhvxpKWmJYCOn+ZZAebFD1Q5EjijByvNvh1d/HxJIJ8Ty6MQnIK8x+4wSI/bRkP2md0GwbQ/akScxkyht3s8jrrgnJn4EL6LDiSxr2V00NuQ8aZ2Z57m4AdVbYv/KMU= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, 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 Fri, Aug 16, 2024 at 11:26=E2=80=AFAM Pedro Falcato wrote: > > On Fri, Aug 16, 2024 at 7:20=E2=80=AFPM Jeff Xu wro= te: > > > > On Fri, Aug 16, 2024 at 11:09=E2=80=AFAM Pedro Falcato wrote: > > > > > > On Fri, Aug 16, 2024 at 6:07=E2=80=AFPM Jeff Xu = wrote: > > > > Please run this test on the latest kernel branch to verify: > > > > > > > > static void test_munmap_free_multiple_ranges(bool seal) > > > > { > > > > void *ptr; > > > > unsigned long page_size =3D getpagesize(); > > > > unsigned long size =3D 8 * page_size; > > > > int ret; > > > > int prot; > > > > > > > > setup_single_address(size, &ptr); > > > > FAIL_TEST_IF_FALSE(ptr !=3D (void *)-1); > > > > > > > > /* unmap one page from beginning. */ > > > > ret =3D sys_munmap(ptr, page_size); > > > > FAIL_TEST_IF_FALSE(!ret); > > > > > > > > /* unmap one page from middle. */ > > > > ret =3D sys_munmap(ptr + 4 * page_size, page_size); > > > > FAIL_TEST_IF_FALSE(!ret); > > > > > > > > /* seal the last page */ > > > > if (seal) { > > > > ret =3D sys_mseal(ptr + 7 * page_size, page_size); > > > > FAIL_TEST_IF_FALSE(!ret); > > > > } > > > > > > > > /* munmap all 8 pages from beginning */ > > > > ret =3D sys_munmap(ptr, 8 * page_size); > > > > if (seal) { > > > > FAIL_TEST_IF_FALSE(ret < 0); > > > > > > > > /* verify none of existing pages in the range are = unmapped */ > > > > size =3D get_vma_size(ptr + page_size, &prot); > > > > FAIL_TEST_IF_FALSE(size =3D=3D 3 * page_size); > > > > FAIL_TEST_IF_FALSE(prot =3D=3D 4); > > > > > > > > size =3D get_vma_size(ptr + 5 * page_size, &prot); > > > > FAIL_TEST_IF_FALSE(size =3D=3D 2 * page_size); > > > > FAIL_TEST_IF_FALSE(prot =3D=3D 4); > > > > > > > > size =3D get_vma_size(ptr + 7 * page_size, &prot); > > > > FAIL_TEST_IF_FALSE(size =3D=3D 1 * page_size); > > > > FAIL_TEST_IF_FALSE(prot =3D=3D 4); > > > > } else { > > > > FAIL_TEST_IF_FALSE(!ret); > > > > > > > > /* verify all pages are unmapped */ > > > > for (int i =3D 0; i < 8; i++) { > > > > size =3D get_vma_size(ptr, &prot); > > > > FAIL_TEST_IF_FALSE(size =3D=3D 0); > > > > } > > > > } > > > > > > > > REPORT_TEST_PASS(); > > > > } > > > > > > > > > > FWIW this test does not work correctly on my end due to sealed VMAs > > > getting merged. I hacked up setup_single_address to work around that, > > > and the test does pass on both 6.10.5 and my local mseal changes > > > branch. > > Yes. you would need to comment out other tests and run this test only, > > it didn't consider the case that sealed vma will merge with another > > sealed vma (created from another test) > > > > The test didn't pass with the V2 patch (the seal =3D true) case. > > Because we... found a bug in my munmap changes. The fixed v3 I'm > planning to send out does indeed pass. > OK, I think you got my point. Glad to hear that you are doing more testing. Thanks -Jeff > -- > Pedro