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 DA279C77B75 for ; Mon, 15 May 2023 21:39:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 178BD900003; Mon, 15 May 2023 17:39:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1291E900002; Mon, 15 May 2023 17:39:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F330E900003; Mon, 15 May 2023 17:39:39 -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 E500D900002 for ; Mon, 15 May 2023 17:39:39 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A97AD1211EC for ; Mon, 15 May 2023 21:39:39 +0000 (UTC) X-FDA: 80793806478.29.5FF75B0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf04.hostedemail.com (Postfix) with ESMTP id 8190C4000A for ; Mon, 15 May 2023 21:39:37 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Ex5xKwtH; spf=pass (imf04.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=1684186777; 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=mvQ6YPEhi1yH4GPYfF4puSk1qA1jVN6Q6/XNFDL2370=; b=HO7dNxP2hYrIoLcoiZ8CKwcXz499QS6hla8XgHrhXY0wewE1GCr0U9bHgGCuw12FqnTPVC AmnJfTuztyxGfNWfGr5uoBN7IlSo/odNpUoxOXVxfwZdgMpWH9XSfVUMBophOHrpbgEGEo +/BXu5v5uGCNsF01Hha6Xk52IcHWdJE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684186777; a=rsa-sha256; cv=none; b=DmNrsPHGv2mEcvMpR0/YyPtt8hc+dFzVSO+p5Nq7v0nFn+mYYx65n2XxCMOaUXh+3LZ3pn bb+kzixKmZvjOtJBAg/5hzG38l80m7zhH89meVj4z1LTnn4IQc6sJV/ZUntS/avUPxa6n/ ajfrw0lcrW0GPohQFBu9P2DGJK7r/To= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Ex5xKwtH; spf=pass (imf04.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=1684186776; 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=mvQ6YPEhi1yH4GPYfF4puSk1qA1jVN6Q6/XNFDL2370=; b=Ex5xKwtHQeLvhhwKMBB7KjIf7pIKybB9ShbCHzHJ0hcthYE9GOdMcY1u1jbEmeX9WmQI2I CszgTHA5iQ668WgwpmgghY9ElMJNGlYVRrbk9a5i9CTFNpbEoQW2y8FvOvLHimJgRuQAXq hMFOJ2pvYGgaenppeHVU+x9D8muJS08= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-322-hG82OdllPSaSc3n-jpBhPA-1; Mon, 15 May 2023 17:39:27 -0400 X-MC-Unique: hG82OdllPSaSc3n-jpBhPA-1 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-5ea572ef499so20891326d6.1 for ; Mon, 15 May 2023 14:39:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684186767; x=1686778767; 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=mvQ6YPEhi1yH4GPYfF4puSk1qA1jVN6Q6/XNFDL2370=; b=dRTBGYsvdB2FRbpx8/85xmMgqIjE6APjMeeL7AyPG/JtMVE6iIi059227vDCbRilJ7 7rfXU31iJxjnzNCvV2CrkS3n6cv9VjIeeFCcHhGfeu+9HY8fiN0saVclYnxuxuZUdLFI buMUaxhyGBi8f2IaoW4+jTs4GJlkAdUclTv8Xye7GpWaGoghhWFUGjj3F7Dy04c0pHwF MGGYquV2tvXqahXy8H5DRxB9QTTfZx2LdJHVvfn1fHYO6w4dZJHCceA9XE2IrZab7Ppo 6Cc1rOXJoGln4PV2swI0ftOvJNAIMO6I0lH/TOlpY0BjUrnP9hOYQFxUWQiSFj+nsfyL j9eg== X-Gm-Message-State: AC+VfDzp61TgNcqfkqb+hg+T6HVFFj81OC5CzrbF7hf8MrevDgsZoeeK wsmwgikP/R/x/2JMHJbhyWelAXhUswKX5ZJGo7jonMibLpwnuCcTHrmLqCmrEtnQUxmlY5VMuVJ P6PA97ZHCHFg= X-Received: by 2002:a05:622a:1884:b0:3f5:1def:67f9 with SMTP id v4-20020a05622a188400b003f51def67f9mr11458018qtc.6.1684186767414; Mon, 15 May 2023 14:39:27 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ48FEMVXKuw185MTT22FSVI1h5i6ov5pP1X/kYyREZeMiFa9PALYQ3Fr2SpztFYSBEKnIj2aw== X-Received: by 2002:a05:622a:1884:b0:3f5:1def:67f9 with SMTP id v4-20020a05622a188400b003f51def67f9mr11457997qtc.6.1684186767161; Mon, 15 May 2023 14:39:27 -0700 (PDT) Received: from x1n (bras-base-aurron9127w-grc-62-70-24-86-62.dsl.bell.ca. [70.24.86.62]) by smtp.gmail.com with ESMTPSA id x25-20020a05620a14b900b0075941df3365sm102177qkj.52.2023.05.15.14.39.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 May 2023 14:39:26 -0700 (PDT) Date: Mon, 15 May 2023 17:39:25 -0400 From: Peter Xu To: Lorenzo Stoakes Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Mike Rapoport , Mark Rutland , "Liam R . Howlett" , Alexander Viro , Christian Brauner Subject: Re: [PATCH v2] mm: userfaultfd: avoid passing an invalid range to vma_merge() Message-ID: References: <20230515193232.67552-1-lstoakes@gmail.com> MIME-Version: 1.0 In-Reply-To: <20230515193232.67552-1-lstoakes@gmail.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: 8190C4000A X-Stat-Signature: 4a6peofhytye95qgtyysi34k8hapfjys X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1684186777-800382 X-HE-Meta: U2FsdGVkX19/5z/+SxFZy/nZewWYFOGl/eX/B11px0D4O1MNCpQnUHMqwIfIellMXkwNwmCwe8appM02NPZWLlbcd/QScNLA1CdwutKlSA7UgCUybBW1ehwxev5exDd6ImgM9y1IX/ZG4XiYDdgv0WVEGFh+s/f6q1D5xQ9vJ8JnD/Q2ZnxqqN3H/fPsACALkvMBdGdDBzlMVoaE/KYawvpJapFxRYC8YSSUZtSPJMyAHVg/7crXryN1Ww31fGwh+HmTmzHljObMSICIv4nZDBspPrUp/mZh27JiAjeehZPWYW8n2HmodPiMNXpXE7sRkcYw5XrkNBta3Mw6ixZle8drz+D97zmUzKF/xTh+JchdyAqEW9y9Crnczf4JBIqWzijAq+gTHWZnUAO1fTh9X3yc3RpSOBEdWyYYkZBLwxDeBICNK1ntaIE8vbeKD2+luo0W+V7mbd7wHbqSfmuqc+kDDXnWH9O/x+aTe3Ks7D5IMv/FJsNsHpWQ1NaSMgbSOSdb3J1Jg3nVxxZGth9kmSi8q8ClGrwN5DKUNU2aK/pD28vHuHYkiWFWKatxKRRwMNQMG2h5Ehv2yCMSQkKuzQujwFKmEUi5ROZJx40SQn2bB1jR/FlNCsTkv/tACORDvwmLTGefba6QQLBExQmy491pyYtYTAnWMJuRRBAQOpG8/eKfv0u03RTehfYxtGEYMbBfqoPmVe+AKhyKpPAa5y/yretc7vQFwI9y+fXQiXLh7z7bqrr77AoRPbq5ganULIaM6yIYw1O4a1I6kqzqtGixhrnrCQc0UkRpTVfNBmp+UTDKLhDXfnFOJIjwWccfUxBKHudxADwh0VigJScBbS3KXL00wIzuTBuEMlI7gydECP6dm20kRB0D4uSXvaFNAVlg+TsmDT3GeXMsepFAJg2/bPmD/tE+CrQDlhWbPUqWlO+HVM0jCdtXr8hrX/gJ8SxSFXsd8zvtCPi5f++ 8bWs1ANU 0O5womUqoEumX11dZoTnGsiYyh6gQWRx9/9xDQzVWisS0IxpvOv8/d2vusx6Ee1Xahs9emKG0RO55uC3OaG0N3YZwbmmiIAIovgzS7tsHpITNg4mjVaBcA/mYrfcUehLhwrTuwBeE9damejhoK+M5Z8S5v6CdHcSWjPsUPUaBJeZCDckqX2AWOTxlcTG8FFhmAc0OXXwQ2ZyxjYvKiC+v1fjg+49aRk24Lm9rOwaxF5ZLjTBaUnQLJz8G1OmsFpN82D71lypsvX9CiskI6e/QXKAh2JaKT1QG+bg2WbtTD0uF5JkRu1ujLExfR4HkTJ7I6fgoiN1P2gq7WZtQbq9tX5OM29AXwqKweC6vwIXa8ycfL+AyLRbqqQKaLCAXN4UXMKJzXLybPdwHXVyoH20NFbsIx9auk4d3s0GX4rCUpxdVC28slPtJyQF0yA== 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 Mon, May 15, 2023 at 08:32:32PM +0100, Lorenzo Stoakes wrote: > As well as fixing the repro described in [1] this also continues to pass > uffd unit tests. Side note on testing, not directly relevant to the patch itself.. I'm wondering whether do we have tests somewhere to just test vma operations on split and merge, then verify it using smap or whatever. The uffd unit test in this case is probably not gonna trigger anything because we always mostly register with a whole vma over the testing ranges, so not immediately helpful. The trick here is we have quite a few ops that will call vma merge/split in different ways, but logically we can still category them into: (1) add/del vmas, or (2) modify vma flags, so at least for case (2) we can have a framework to cover all the cases (mbind, mprotect, uffd reg/unreg, mlock, etc.), the difference will be the flags we'll be looking at for different cases, however how vmas merge/split should be somehow in the same pattern. -- Peter Xu