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 6C31DC77B7F for ; Tue, 16 May 2023 22:52:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E1099900005; Tue, 16 May 2023 18:52:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DC047900003; Tue, 16 May 2023 18:52:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C615E900005; Tue, 16 May 2023 18:52:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id B3F83900003 for ; Tue, 16 May 2023 18:52:00 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8F15A8025C for ; Tue, 16 May 2023 22:52:00 +0000 (UTC) X-FDA: 80797617600.14.DCB61F6 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf25.hostedemail.com (Postfix) with ESMTP id 4CB62A000C for ; Tue, 16 May 2023 22:51:58 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=hQm8KctN; spf=pass (imf25.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684277518; a=rsa-sha256; cv=none; b=7gSpdLosKqu30cWyFfvcpaQMg8JH7ZCnJLzO69qev2OR+cbW1G2RT3Jqb5b6CQs4M3tCgj Uk+P60Zf/Y9O1UTmxxFPcZvuwu3469JR8D6PdZalNoVL8bBq/WOK85mLHLWO7vqGwhUQ+U UawSQhkzt0xLU5+xjTc569lB1uhvzuQ= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=hQm8KctN; spf=pass (imf25.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.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=1684277518; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ocX88koyMSL3z5d7fsei+K4lRNspfTzWujaeY63o7N0=; b=ja4PMc5n54xP26VRVBmcWUAOZnxZfAi/IN/8RzAo79m+2kjm2rT+PxQsLxEkkfQeI5mpNj ogZFa1gP286TLkNlusqAbk+Wc92uNWUbzV4tkUbtESgysfYKgXUT89Oc34l2PQKZ96fTTL 4VIj1lEBfbaUK0cB1bAGC50n99aFeQk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684277517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ocX88koyMSL3z5d7fsei+K4lRNspfTzWujaeY63o7N0=; b=hQm8KctNmCvuEJxq/sezFs4SbEqNDIQlNFuAIyfhqdpyhd+cW0QhcoJkpP9Pduk2V5v6ox rNep23/Gh6ZKBrC1vwUJT1/48Fq8fdB8kWmImWQGFbxCxEVUDyq1GvrWB32EMD9aa9d7LZ 1qJZhkEzi8Jo68z5H3TrIe9Zwp2rNTA= Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-1-aXfXmxryNtCONx5Qs7On4g-1; Tue, 16 May 2023 18:51:56 -0400 X-MC-Unique: aXfXmxryNtCONx5Qs7On4g-1 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-61a3c7657aeso207836d6.0 for ; Tue, 16 May 2023 15:51:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684277516; x=1686869516; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ocX88koyMSL3z5d7fsei+K4lRNspfTzWujaeY63o7N0=; b=R0Wnat7Sx7yYiNR+YqwJYTXTFll1dD1ubOguDrYrXcnFq9qbNeNE01XpA/01ZQudrK M3tLn/M+dzmb43J5SHWmMTMkLZ6xnz7/ELafXnb99GDrK30j6nPhuS+shO+0rKe+hsEF 3Ge6zyRnGk99pu3XO9JAhqCw3sxGZ1MnudJ4stl7LZ0u+OJYiq9G7+BYGlSG9QvMX5tx wG9etlxzBh4Ka/fai7MD6G6/xuIn/cl6T6998HjCNacOMOpVtBso1EGsXNoX+2rZRkTm rp25Coqu1Pb2Li/LshEWjicC1OE9arDcjrj8ZnPUrl+BXkSHpiSk7TrxkQpz0ZEPVz+J T11Q== X-Gm-Message-State: AC+VfDyAMEeqofGQUch2MHHaUnp/lOF0Pi9Sq4kPi/h38C4m+cGPU0OX A4HuokDVkoi7ri5Pb47atYiTQNrUhwi8/FFKBs3Tk5g6W2Q+hMd9gXcDdw7MLwzeRQsBWCGR156 JdWt3qLiPu4E= X-Received: by 2002:ad4:5be3:0:b0:616:870c:96b8 with SMTP id k3-20020ad45be3000000b00616870c96b8mr1815067qvc.3.1684277515794; Tue, 16 May 2023 15:51:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4W+OsHHwadVHAQI27/YuV9okTcG5IrJCEEa6o+76pChN+xoosvW2qEb8jS9fDuX2W4piGx5Q== X-Received: by 2002:ad4:5be3:0:b0:616:870c:96b8 with SMTP id k3-20020ad45be3000000b00616870c96b8mr1815052qvc.3.1684277515544; Tue, 16 May 2023 15:51:55 -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 i7-20020a056214030700b006215f334a18sm4275406qvu.28.2023.05.16.15.51.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 May 2023 15:51:54 -0700 (PDT) Date: Tue, 16 May 2023 18:51:53 -0400 From: Peter Xu To: "Liam R. Howlett" , Lorenzo Stoakes , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Mike Rapoport , Mark Rutland , 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> <20abea10-5307-498b-b9df-8f0b2fed1701@lucifer.local> <9739133c-3ee7-4e94-a6a8-783045a50ac6@lucifer.local> <20230516223830.64ege7magdtx3zsr@revolver> MIME-Version: 1.0 In-Reply-To: <20230516223830.64ege7magdtx3zsr@revolver> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspam-User: X-Stat-Signature: rcucnfh9uhoxmoo1rowq9nrzgznh9asn X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 4CB62A000C X-HE-Tag: 1684277518-233297 X-HE-Meta: U2FsdGVkX1+YqNfrCu0AIHme68fBePH8Jqg0LqL6xgj5qa1B5yfRK69F/NXMWMKawAgm9VF0aKJYGNdykU3YLRjFMMi5yLc6HxZdr2Slsq7dWpSW1ZAepIMNw+eZ8r3hshJqtXQSFPHt9X1cn6/u7e1uQresLjNi5sgX9YxYEjWVCwPD4V2ZRoEKbBC4DvODuIRkzjN0KM47fzv/UqUWbp1NA+uvkYFfJy5mprifdHpDWli9NLRAUlFY3jCiB2xQ7Bq+O2E9r9qiFVZExc9jQ6wkUggZF0MFXanfRmFRcqzERSZM2bvlqDprOS64vpR3dveg8WVz/i3UHz7iIWGU7vF5c7ZAGWcwi8QCv3Bngj5MG/Eg5uccJoAp1RGzNvQnDVEYGLlfRyMDDUCkfr6ySO4nHHVksum/fQrzW+0PcFVDTFTHTmHhHlBro8/54BNqrCgz56pX4E4ihq9ZHFRsqaQDhj8+ZyvR+UkIE6+QWKlkhdxYNj7DMx0NVw9+GOXbwaqOeA/93NcLHccOkqd9hBY5xCWrONq/+Qmb7zja2VdiBlr2UPh7wnpokIsKjUWob5LOz2/HQkW7urT6ebFRtom5qQeTEwd+xatm/VUTTu0QOdE91O6KOhL2SPezF4DqV+wZaswMVYkvJbnrXsMDBzM7FGUO5OL7rvhyGc0b/ioA+co79klyyQQtdPighxgGfO6o1TEr7UC0CYXUIj8yo8IpbMMthWcuhDKG5SK6JpzZvLhE/KzzmT9QYhgkzBx0QoIga6J8tXXaDznToR/yCQAIFFxXbgdUFXRd1dZ6IVwLpVPdkxS3sUGTfP4OzJZ6Yq+8TWRjx8tJtdT5XR7iiGXKtgqLveY1ptfPPUcyueCBpQWpV1SwCMJoyouNjLCk5dnVALahX6Aq/+lzm3BKLovQWU70rlmHfSanjYl+XhPt3rqO7ixKNhEfkmggLaO6mFKaNdrbh25KvyvZ867 HSkbViDU 7kP3Ln0F7uKC9VMtc/o8grqAeyJsKWykJjhhPAT/4OCdL3jSSGLVlLZwP0XdO4TbgS/o6HUh9jxMcmZnRkdq4mJLJ++RsL8awez0g+Gkoo0DUqwk6GwT/c2nottI30rUyDGJqz8fM5eUBCxAu2oJlX1Lp0aTmD8zPAl8yTJjTyRUKCj4P3Wv+eBe4cj0z4IPbgOV3gfpwayX6mIHvlJ+9diKh4SNJzceJjbsNDAqJOkDHN13cxgp350UKRzsfePaku9i55BXhJgUhw+DnMy/X2tzzTLUeEiaVNJdPnxFgkGAhKG0AGh+0C4mS+w/cX+KcXm2Lyexh1Jznb7WmZz9PAvpA8I+34nKtlTIdxfg3L5UopabdtSB6y+/+7JSVOR98IpFR5e3KtdSfjdt/vSO8mcMQqQ== 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 Tue, May 16, 2023 at 06:38:30PM -0400, Liam R. Howlett wrote: > > It seems to me what you're trying to explain is we shouldn't handle any > > split in vma_merge() so we should move cases 4 & 5 out of vma_merge(). If > > we split first then merge, cases 4 & 5 will become case 2 & 3 after split. > > We don't split in case 4 or 5 - we adjust the existing VMA limits. We > don't actually handle any splits in vma_merge(). I think splitting > first would change 4 & 5 to 7 & 8? 2 & 3 would require a split and > munmap, right? Right, I referenced to the wrong numbers.. 2 & 3 are when CUR (CCCC) is empty and newly mapped in, if split happened it means CUR (CCCC) exists which is 7 & 8 correspondingly. > > > My question would be: if it worked perfect in the past few years and it > > looks all good enough, why bother.. > > I suspect, but it's not clear (like all of this), that the other > arguments to vma_merge() is ruling out this potential hazard I thought > existed. Some more elaborations on this one would be appreciated. Thanks, -- Peter Xu