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 D955BC77B75 for ; Wed, 17 May 2023 20:37:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 03FAE900004; Wed, 17 May 2023 16:37:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F311B900003; Wed, 17 May 2023 16:37:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DD312900004; Wed, 17 May 2023 16:37:15 -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 CBFD1900003 for ; Wed, 17 May 2023 16:37:15 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A4A691C7492 for ; Wed, 17 May 2023 20:37:15 +0000 (UTC) X-FDA: 80800906830.30.EA90E67 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf20.hostedemail.com (Postfix) with ESMTP id CEE8E1C000D for ; Wed, 17 May 2023 20:37:12 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=a8NQjPgy; spf=pass (imf20.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=1684355833; 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=qw24q3koBCTGhsyK/A9UxnFtqmKPlaJqCG9HtlLgPFU=; b=0idpB0r0uT2R8sHeE8u4essFm7yozutOP6xace4xO6zuOpca8bi2cbItInaq9rNqfuOr3X 2Kivvxy97/FKAPjV316QDkbKCn78OaD0cIYBure8fV/pLpgPfreEJ0o1NpFJ/27txr5BoH rGx+6KzHZAa4jRThSb4bnsrRT+Xu5q4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684355833; a=rsa-sha256; cv=none; b=P3EcEhcKzxPYSK3c7Z52JnFXoVDCACkzxRjYBNlq/TzlLEqW2BTgpF/HmoVari5YopD7cY g1XgNBNbcy1/7ByAz5WinQSwur7Ft+0GY1oKyZuJ0HJFC3aOpximgvps6fmq4cFAn4PD4z bRhl5GkIN3fBahUQnSIgqENwkqnfnp8= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=a8NQjPgy; spf=pass (imf20.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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684355832; 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=qw24q3koBCTGhsyK/A9UxnFtqmKPlaJqCG9HtlLgPFU=; b=a8NQjPgyeZs1oWJHI9wV8LTR4O/rPB0sFDUGFlPdxBIKeSmXqA18XCnhC9CCURKDjqtl3J iIblJ63i2Zu0wDTYkWKNzNtbaeen+s7fKctZrYcefsDiViExOp8Z9TXXVa/INn9pIENQLD BaEzOrzWxYSxa102/gDsQelHQkfw3XA= Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-191-ccEzq47nNOufeL-CAt68PQ-1; Wed, 17 May 2023 16:37:10 -0400 X-MC-Unique: ccEzq47nNOufeL-CAt68PQ-1 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-61b5f341341so1581646d6.0 for ; Wed, 17 May 2023 13:37:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684355830; x=1686947830; 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=qw24q3koBCTGhsyK/A9UxnFtqmKPlaJqCG9HtlLgPFU=; b=H6NlYvO36HPiA7LRISp2iNV+MWPoVvTADRs5GHoomJBg2Zc7ZRTZaqvcvCp0zBJ8FD mlt4EDdDuQXmfzoGIvBp02ra3MTCLZLtMfTd2TClfbVnA+EEDRMvtCuTSGDlNm84nOoi lTIaf9wYBxNWgR5blYpJ2KIdqQmtVrSXKCJmdB4g5u0V+B1YWhje1jEeUcw+L6l0dPaV pDAQghzkl7Vo1liTnwICZ8SchO2QUJg7d0sy6fuHstLf5lYJtsYFb88e2J9TSE9PsK8k L+Ag8dmF/4/ydf2LN7pZbYzU+/M2t55P7ZONfw69Ll7rEdiC8uRLQ4vRGsX2jCqGZJ7y ulqQ== X-Gm-Message-State: AC+VfDw+cM+cyPUcMM+8upb7MLutifiFugDUyG1B5gndHQr3nMLRGgyQ 7AWUweieLLezYdhfkiOQJ19JHwwfZs/pOg1xNAqctSaVBZMmHn75YIYhRfkvjyXjPzO410JTUvf bpN2JED5bBzM= X-Received: by 2002:a05:6214:cc8:b0:61b:6b8e:16e0 with SMTP id 8-20020a0562140cc800b0061b6b8e16e0mr7457821qvx.1.1684355830159; Wed, 17 May 2023 13:37:10 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6SyFUd8Lqs6mmufSEkv8XLzqqsya5htZAu67CjkT4Q/8mI3cV6V51PsNc5ery1Y55b0PO2IA== X-Received: by 2002:a05:6214:cc8:b0:61b:6b8e:16e0 with SMTP id 8-20020a0562140cc800b0061b6b8e16e0mr7457800qvx.1.1684355829864; Wed, 17 May 2023 13:37:09 -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 p19-20020a0cf553000000b00621430707f7sm1585qvm.83.2023.05.17.13.37.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 May 2023 13:37:09 -0700 (PDT) Date: Wed, 17 May 2023 16:37:08 -0400 From: Peter Xu To: Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Mike Rapoport , Alexander Viro , "Liam R . Howlett" , Andrea Arcangeli , Mark Rutland , Lorenzo Stoakes , linux-stable Subject: Re: [PATCH v2 1/2] mm/uffd: Fix vma operation where start addr cuts part of vma Message-ID: References: <20230517190916.3429499-1-peterx@redhat.com> <20230517190916.3429499-2-peterx@redhat.com> <20230517132321.2466ef1ccde9e8d05436e3f2@linux-foundation.org> MIME-Version: 1.0 In-Reply-To: <20230517132321.2466ef1ccde9e8d05436e3f2@linux-foundation.org> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: CEE8E1C000D X-Stat-Signature: qxokmdbzdtsnfg3hpy76okxqpyj6sy4c X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1684355832-580308 X-HE-Meta: U2FsdGVkX19QJI46aNttWAK6soVUKM48GlhhzNBgIt7Y/EaqWVJVOAukZU2ZN8W+dWHJOH1b/hG3+2/RT8SAZOQiRrqukKiyxNQo3sfcwPhaiECipvPOVyZUzjrh4R2gPPFbo0ZF2T6jZpM9A3kXPhr4hSzMuX3lE5ZyvtIjpQ1fI0mVJBv2A2oO9zDxH4OujuCv7ou9Qz9sb2oD/tHJswfFZ0fC0gL3cwfkbAQ2D09QOSGkphs54tgydUO3HJCfffUaINh2Jt8POD0RZ4dJugQdwpBDcjNNUhkmmUkLwWY0pMHeZov7LfiAPTsPZemDE3cM3l1hwL9lEEb67oHcyUZFDxGu04uVCNy9nfqJwh8cO4iOtMRJUitMkZwhaqqb1ORvTInbE+/Ftb/5z/w8wQL3QTKkOh/t2DXuOwzLurpyUbDN9mX7ROYce1no/8ezDHGyoJ4c8AwrewqMRtwYvkPMq8sb7wvx971smL9z/v2Eose4GIo3uBfoW0v52FPAf8StTXW5cACttAl+sYgBUSzjhU3fzonz7eT9qV82zgVmTWUxFHIpYBAR+JLo1lfd6pxMFkaXYSI3Y4aZqeuhn6p+RbBVDf3rKbp8oW29+a40HwqMcbiveyQft9ottYT/KqsZuEbr5pPeHyRyTasjd1euwV+f4rlipuZdXWKnSwkq6hzE+TrXvotKQHeeudqJ3gAUiPGyX0h8lu8SGbIc+wSHGOxhzSXyunJ+aoL9DUdt9NLNwGavazirbpc36LcVE6OuqxvXOt29kB00hlFmL6lhNZO2N7IljuKnuBcpaGXeVSW2x6tQvlQy65GG3Nw8/nz0v+nXr26sCQvfjUP30tTkxk7OuqgtCdU76EJFwCNuHYYV887IwhyYmCuEHSNJCVku84fJHnR/JrlkbrkUznn0X7W5dlLY5lvpWtu4yvv1gXamUyUeL+qOkoQHVjuAGue3o3uUq2k6tDp+0MA BRuV/Cfy fqTruKVTAGXmMdQk2/X+h5GDgjCOOpgek/VxmLzBDDHoJvF1D/A8zhVuUYE1MwTkZBR2SOCiEbTb6pxdLab+X7oTRblJAOYduTFaYGmds+RB6QI4Q+AZ8On3MhBfzFqSswer6cH43pDmFRxhGzQGjNUTQNCuO8JXkeAr5UPvRNalYsk+NhldY8wyciyOvd89GcRM+DNz9iCG+kfReyhApj4UilAwI+ZDLD4IXi7lCXmkbK5HlEuIr/rEs3ucc3QDrao7ltgkx/YFrWnssCMFUcWCst7Vch5QUayTC6CRjvAFGR5t3oYNP3SY/po2EhaKig0XtDKhEbw0vRCtf+RVLDMlc9K2+BATnw8EdQnlRjMXbAyVP32O3XOLMpMOA8BnThxjN93ZwqywSfixW2RJbjsMCiT6M5EKaLqYmvahB9UA3N/+k7Vv/atGfDlOTOFDwoO6rWuGRTiXgV6I2b4CLEO84Ag4RQetlOXlEeYXyY/VtmI5RTzL8qB1BSIg/pHRe/UKnTEy8DvzQd9C/NrzUXww82gK87jGDllYlZY3M9GOu3Yg= 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 Wed, May 17, 2023 at 01:23:21PM -0700, Andrew Morton wrote: > On Wed, 17 May 2023 15:09:15 -0400 Peter Xu wrote: > > > It seems vma merging with uffd paths is broken with either > > register/unregister, where right now we can feed wrong parameters to > > vma_merge() and it's found by recent patch which moved asserts upwards in > > vma_merge() by Lorenzo Stoakes: > > > > https://lore.kernel.org/all/ZFunF7DmMdK05MoF@FVFF77S0Q05N.cambridge.arm.com/ > > > > It's possible that "start" is contained within vma but not clamped to its > > start. We need to convert this into either "cannot merge" case or "can > > merge" case 4 which permits subdivision of prev by assigning vma to > > prev. As we loop, each subsequent VMA will be clamped to the start. > > > > This patch will eliminate the report and make sure vma_merge() calls will > > become legal again. > > > > One thing to mention is that the "Fixes: 29417d292bd0" below is there only > > to help explain where the warning can start to trigger, the real commit to > > fix should be 69dbe6daf104. Commit 29417d292bd0 helps us to identify the > > issue, but unfortunately we may want to keep it in Fixes too just to ease > > kernel backporters for easier tracking. > > > > Cc: Lorenzo Stoakes > > Cc: Mike Rapoport (IBM) > > Cc: Liam R. Howlett > > Reported-by: Mark Rutland > > Reviewed-by: Lorenzo Stoakes > > Reviewed-by: Liam R. Howlett > > Fixes: 29417d292bd0 ("mm/mmap/vma_merge: always check invariants") > > Fixes: 69dbe6daf104 ("userfaultfd: use maple tree iterator to iterate VMAs") > > I don't know how -stable maintainers are to handle more than a single > Fixes: target, given that Fixes: means "kernels which have that patch > need this one". Can we narrow this down to a single commit for this > purpose? Please just keep: Fixes: 69dbe6daf104 ("userfaultfd: use maple tree iterator to iterate VMAs") I just noticed 29417d292bd0 is only in rc1 so no backport needed anyway. We definitely need 69dbe6daf104 marked Fixes for backport till 6.1+. Thanks, -- Peter Xu