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 F1AAFC433F5 for ; Mon, 28 Mar 2022 15:22:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 342DC8D0002; Mon, 28 Mar 2022 11:22:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2F2108D0001; Mon, 28 Mar 2022 11:22:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 192528D0002; Mon, 28 Mar 2022 11:22:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0142.hostedemail.com [216.40.44.142]) by kanga.kvack.org (Postfix) with ESMTP id 0BA5D8D0001 for ; Mon, 28 Mar 2022 11:22:17 -0400 (EDT) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id BCBB3182740F1 for ; Mon, 28 Mar 2022 15:22:16 +0000 (UTC) X-FDA: 79294161072.18.AF6F268 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf20.hostedemail.com (Postfix) with ESMTP id 2A5F31C004C for ; Mon, 28 Mar 2022 15:22:15 +0000 (UTC) Received: by mail-pl1-f170.google.com with SMTP id x2so15012011plm.7 for ; Mon, 28 Mar 2022 08:22:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=y4jeTiPmh1/itpZ2SuVLZQIg9+4PUK2a47pmdNYYEis=; b=L3pixW/Cy+d6kb+DaPDXJhFrNwxshMt65sz1EF/s5RgGdKGDS6g3aRLUqeTpR+o6cN NQTYRsGi6TiDyHWh3X1cKu6gfV8RkX24XKesUMuUqdnVP37QBORRNKM3ONBe3BP/jG8v Ritz/O+fzOW06bgdmIBc/WweczvT+/2m5trvzZddkpSl+G+Y3KrdMBRhv8WnCRlkJA/2 VApy6Zjufznsyj7u+eWW6qTrM/+ymbIWgvHIOGtJLxclgDH0DFCHy4M5Y1claAyUXfb9 rBGojNoUTT/aev1AkvpohsXSTyUvbFyNzYWxwUyt9Y7ybCOm93nQwbQV6kk/oAgHc7Q/ jlvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=y4jeTiPmh1/itpZ2SuVLZQIg9+4PUK2a47pmdNYYEis=; b=oVl+VrhUEDOwgp/46vAn4hcjVQ9YlRBcvZMkx1afId95f7YrYGHgH/CobBi8A75Xoz s1CTf2Zd2Mc5/aTzyLqHzutnPMI9f+gmwBeRflqme5eNT9KCWaHpjXFRBQjHMkMlASnD rcoRdao1IXVaBjHasbiGkRjzaNEroqh9Snc39EuL87FKwijwpFm7O25Fmwaj4tVQOAGQ pHM1qGYklmtPZbRSoN5K1d1FZ8k1xjF09YJ5ZOcMA6yFnBZZYwy3cKxUwxn+mJhSe8dH BLYhELlkNKixrVW9b329f16yUAODLZ74eUA5p7+QaMH/gSx1T954i5ZavBnlKTgKihvg ZwJA== X-Gm-Message-State: AOAM530ivmxtDgxgG90BK/0YG1ljQ/STW+GeV+8tG6RyAmBf/+rJaKZz wfBjtK7VtRlLIW1W9nWZBE+L2w== X-Google-Smtp-Source: ABdhPJwh98Nt+R5Qe2Lc1Z3eIP/trP/h2ooEjxCKyasqXlNIxP5pG+KKoPRjwFbVUbqLxRe9Xm5kEw== X-Received: by 2002:a17:90b:4b0e:b0:1c6:f499:1cc9 with SMTP id lx14-20020a17090b4b0e00b001c6f4991cc9mr41573650pjb.133.1648480934928; Mon, 28 Mar 2022 08:22:14 -0700 (PDT) Received: from google.com (157.214.185.35.bc.googleusercontent.com. [35.185.214.157]) by smtp.gmail.com with ESMTPSA id i67-20020a636d46000000b00398344a27cfsm4996038pgc.8.2022.03.28.08.22.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Mar 2022 08:22:14 -0700 (PDT) Date: Mon, 28 Mar 2022 15:22:10 +0000 From: Sean Christopherson To: "Maciej S. Szmigiero" Cc: Paolo Bonzini , syzbot , david@redhat.com, frankja@linux.ibm.com, imbrenda@linux.ibm.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com, vkuznets@redhat.com, wanpengli@tencent.com, will@kernel.org, Linux-MM , Andrew Morton Subject: Re: [syzbot] WARNING in kvm_mmu_notifier_invalidate_range_start (2) Message-ID: References: <000000000000b6df0f05dab7e92c@google.com> <33b6fb1d-b35c-faab-4737-01427c48d09d@redhat.com> <6730ea89-8d85-bf30-28e5-01ca7ebdacea@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <6730ea89-8d85-bf30-28e5-01ca7ebdacea@oracle.com> Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="L3pixW/C"; spf=pass (imf20.hostedemail.com: domain of seanjc@google.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=seanjc@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 2A5F31C004C X-Stat-Signature: i5f3qmcq4g5rfjp74etze8m9ap3oiw7q X-HE-Tag: 1648480935-324537 Content-Transfer-Encoding: quoted-printable 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, Mar 21, 2022, Maciej S. Szmigiero wrote: > On 21.03.2022 12:01, Paolo Bonzini wrote: > > On 3/21/22 11:25, syzbot wrote: > > diff --git a/mm/mremap.c b/mm/mremap.c > > index 002eec83e91e..0e175aef536e 100644 > > --- a/mm/mremap.c > > +++ b/mm/mremap.c > > @@ -486,6 +486,9 @@ unsigned long move_page_tables(struct vm_area_str= uct > > =A0=A0=A0=A0 pmd_t *old_pmd, *new_pmd; > > =A0=A0=A0=A0 pud_t *old_pud, *new_pud; > >=20 > > +=A0=A0=A0 if (!len) > > +=A0=A0=A0=A0=A0=A0=A0 return 0; > > + > > =A0=A0=A0=A0 old_end =3D old_addr + len; > > =A0=A0=A0=A0 flush_cache_range(vma, old_addr, old_end); > >=20 > > but there are several other ways to fix this elsewhere in the call ch= ain: > >=20 > > - check for old_len =3D=3D 0 somewhere in mremap_to > >=20 > > - skip the call in __mmu_notifier_invalidate_range_start and > > __mmu_notifier_invalidate_range_end, if people agree not to play > > whack-a-mole with the callers of mmu_notifier_invalidate_range_*. > >=20 > > - remove the warning in KVM >=20 > This probably depends whether it is actually legal to call MMU notifier= s > with a zero range, the first time this warning triggered it was the cal= ler > that was fixed [1]. >=20 > By the way, the warning-on-zero-range was added during memslots patch s= et > review process [2], but I think it ultimately does make sense. My vote is to play whack-a-mole. This particular flavor isn't all that i= nteresting, but the HugeTLB bug was a genuine off-by-one error. Given the low (so fa= r) number of unique reports, IMO the benefits of detecting buggy callers outweighs = the cost of having to fix/address benign paths where userspace is doing something sil= ly.