Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp5526882pxb; Mon, 28 Mar 2022 13:45:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy8K3BomEl9bff2V8epJF79vglhvePVdZ4XzjKx02VTHPe6Pfx7DU+tXCK3vXB6pA7th9dF X-Received: by 2002:a17:907:6d0e:b0:6d7:c85:5bf5 with SMTP id sa14-20020a1709076d0e00b006d70c855bf5mr30645472ejc.31.1648500306694; Mon, 28 Mar 2022 13:45:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648500306; cv=none; d=google.com; s=arc-20160816; b=kogK3CyWox9Jp+gVyBh0fKhm36Li+H9Cy/WD/2VKcLneRx9rstuPpWmnva+91RzQhd x5iYHuVstVwI7Iryv6XYCrPYB2lcSkjTIB6QvM5CQX2t7CD2XHqBvmq7BCXG7Jx9V8xc LfHEWLk0D5gVHO2ph1/23S4ThE1M8cC4RauUya7iev/FzTokVIK4P8nQBgm1tDOmJ5mx ztV1cJoH0GQcp38L/eEXLvkx28wUDKUqpM5sLYgx4iM6JaO1Rbv00IGh3U7YbH6pgLTr LSwcmebyiG0/Xa+dc+efkkkFdy5skcyFttUmASoc2hQGSrjWGaTtfKzT7fodmCFOX9Vs S5pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=y4jeTiPmh1/itpZ2SuVLZQIg9+4PUK2a47pmdNYYEis=; b=k0O238mMDNTtmuwjL0y2aPrFCwaCDwzaU5Hsxexb/mSYNK2DnPpyWGTZF2g82TF7kx oeGXCUKXfcbRH9I273eZvDJOOKlumLI0UYu4uXxMj6e00pngM+WgYKeJ5s/QJQQKXqCh 5DA4d/Iu74MXsQyO35Liq4/qlzQgLuViSlOPrrs0Egf/cAdrMQHnrLYlJ7o7ij5zzLXb zmYaSxDgSM8dX93wvL/MXUdaoPrPgBaoghzSnrD6SwKd6Y0TDI8MkwObbsU+k6j512Am kMAxRC68ppj6X1yyBEaQjoVXKrahuQ8aygjGL+oK+dyPdXZhzgeXfV201dBXvPM7zx1y z2LA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="L3pixW/C"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c7-20020a50f607000000b00418fd7af908si2068299edn.279.2022.03.28.13.44.41; Mon, 28 Mar 2022 13:45:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="L3pixW/C"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235375AbiC1PX4 (ORCPT + 99 others); Mon, 28 Mar 2022 11:23:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40858 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229457AbiC1PX4 (ORCPT ); Mon, 28 Mar 2022 11:23:56 -0400 Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8FAEE60AAA for ; Mon, 28 Mar 2022 08:22:15 -0700 (PDT) Received: by mail-pl1-x635.google.com with SMTP id j8so4823245pll.11 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=34wo0JcIa6TdLR5bKi7UHmNeR7sBCqUH6Knj0t75lkjm6DMl1KvO71/+i+mou+i0lO DBghMlxrS3cMAJ9JrC79C/MWvHOleTkJ2ti430QY4kCr8TaYWfISK0RNuxLClhPRDkFT CAsL31zma6ye/yZESpHjWEN85u8djvwjGlEeQwOk3Fkz5kzrtSxp0PYagYUg1qC9/5tq Ppwav+5t9JUHYBIzR/XZF/gcmCdDD+fYDM1n1ziG765SVGaz/8X5vMO6Mjpvqo3JpdpK HHShIln3Jp640i11eb3ITSQyvYJGsmtE8acsMPBDNOQOTgkU6wM9oXMmfSHRHdFlYlzS xS6Q== X-Gm-Message-State: AOAM530AGJE56jKU0XFTNI0IHjFt+UTn/J911zmKder4/2EvMCPrvgUq fZijXcd7uhpstIQ34RqDAZMn9A== 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 Content-Transfer-Encoding: 8bit In-Reply-To: <6730ea89-8d85-bf30-28e5-01ca7ebdacea@oracle.com> X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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_struct > > ???? pmd_t *old_pmd, *new_pmd; > > ???? pud_t *old_pud, *new_pud; > > > > +??? if (!len) > > +??????? return 0; > > + > > ???? old_end = old_addr + len; > > ???? flush_cache_range(vma, old_addr, old_end); > > > > but there are several other ways to fix this elsewhere in the call chain: > > > > - check for old_len == 0 somewhere in mremap_to > > > > - 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_*. > > > > - remove the warning in KVM > > This probably depends whether it is actually legal to call MMU notifiers > with a zero range, the first time this warning triggered it was the caller > that was fixed [1]. > > By the way, the warning-on-zero-range was added during memslots patch set > 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 interesting, but the HugeTLB bug was a genuine off-by-one error. Given the low (so far) 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 silly.