Received: by 2002:a05:6358:701b:b0:131:369:b2a3 with SMTP id 27csp4343759rwo; Tue, 25 Jul 2023 04:54:23 -0700 (PDT) X-Google-Smtp-Source: APBJJlFL2WD251vT477co4IaDEjF2EOUdExhtpXlrXk3I3I0g6WFyjl7EC4OewbO0+pJAfYXtHwA X-Received: by 2002:a17:906:1041:b0:994:5407:9ac9 with SMTP id j1-20020a170906104100b0099454079ac9mr2215135ejj.5.1690286063339; Tue, 25 Jul 2023 04:54:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690286063; cv=none; d=google.com; s=arc-20160816; b=ofN0P7a6rTvkn8X/xv8cZQ+AcZ11jK/0+fr/84mKN6OjN93gN8vtMKdD6ie3F8vGv6 TikMXQdjjvK2MfDrIE523Ifcvt+LF/TqDldgLwt43NKlHYTN3PLs78/LKpAP6TBNvXlT clcOIDJdtO8FaqODwtKZfaH4QyrLTDTxTe5dfidtBk6dTf9iJtjJrwAaR1Ux0d0M4Uw0 Lf3+sDwZP2/X0TDJXqV76k/mnY0Kt9TeONhFlMpOpMiBJvyRU0872OOY7dZd6b+M6icg eE7jzF7sE4Yl1oJqwN2yQRFJtChKq6sohuYca+Z8ukLkXuXwZ3P/JTERpu0LgagFiHGf mh1Q== 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-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=ZOzf9s0ReDDsEURy4Zg0WcfU3XOuAbMAnY0qpeBPPQA=; fh=OqPVDhescFXvTx2E6xm8fyM+mmuB8qv2npXPkJxCR8g=; b=qpcPmh6RP+W3fdvEPaUx7WI+JLz1GvjvYWtGwKvYPlzNpM2XKF51XKdYRU0p9h/2AB qD27hBKpi6CE7vhDl0qZK2Zw0jkQzDNHudx1NnI9Om0suZmZ9wxsoNHRk8MocAap+amf RQRLsoGQElWhlGI50OvbBZ54U7t7whvnAMISIgs22rHI/XyMD6gubnVSlI1fr29dHRdZ 0u/uquLRqnjhgS4IsV0tD+QC/TgZ+g6NlHUpzdxnyF7uO9NOIIflPdKQg6bAweu9a6bA vaz+6i22y2d35kwHKTLS4seOCiOBvmNied7fSS74BXagOW9eNty9/ynG4GZFyazbR4UL khrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RAb1lera; 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=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r25-20020a1709067fd900b0098638efc275si7189413ejs.688.2023.07.25.04.53.58; Tue, 25 Jul 2023 04:54:23 -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=@intel.com header.s=Intel header.b=RAb1lera; 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=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233450AbjGYKYR (ORCPT + 99 others); Tue, 25 Jul 2023 06:24:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230462AbjGYKYP (ORCPT ); Tue, 25 Jul 2023 06:24:15 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE76610CB; Tue, 25 Jul 2023 03:24:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1690280654; x=1721816654; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=z2JgSRr57QfGjyG/fWEsaikXL6iwmaxUOjUdDAVtI0A=; b=RAb1leraqX5Fyk6HEvP9T703FMF8+1ubL2WTdk/W6M/nh63j8c+gyD+8 ldRTrTyztR8vGBwEyJBHK/SKadmUhsiA5MNJhy320hC3kWAsd4iVQvyqE vocuEeelD/8dgxtS4meTWHDD6+8OFU71+q7VGTjK8GzSrh+pQMKBqj4lO PtGq4nWE63jDDBOpj7/++pecb/44c/1zSJ8GzeI8AHU5vUWLycMbWy9kB SQjl51FS33cwUBefU91alkr6ZhH8JkeI4sXAoyFDQGLHNnLY5QW7FBGOv 3DHGaDlfGuMlMytnRXm+SJkBfa1KcZtuTESmJfCmD1JZXK6uEH9O8Wasw w==; X-IronPort-AV: E=McAfee;i="6600,9927,10781"; a="347956818" X-IronPort-AV: E=Sophos;i="6.01,230,1684825200"; d="scan'208";a="347956818" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jul 2023 03:24:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10781"; a="1056753039" X-IronPort-AV: E=Sophos;i="6.01,230,1684825200"; d="scan'208";a="1056753039" Received: from mlytkin-mobl2.ger.corp.intel.com (HELO box.shutemov.name) ([10.252.57.129]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jul 2023 03:24:05 -0700 Received: by box.shutemov.name (Postfix, from userid 1000) id 171E4103A12; Tue, 25 Jul 2023 13:24:03 +0300 (+03) Date: Tue, 25 Jul 2023 13:24:03 +0300 From: "Kirill A . Shutemov" To: Sean Christopherson , Vlastimil Babka Cc: Paolo Bonzini , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , "Matthew Wilcox (Oracle)" , Andrew Morton , Paul Moore , James Morris , "Serge E. Hallyn" , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, Chao Peng , Fuad Tabba , Jarkko Sakkinen , Yu Zhang , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , David Hildenbrand , Quentin Perret , Michael Roth , Wang , Liam Merwick , Isaku Yamahata Subject: Re: [RFC PATCH v11 10/29] mm: Add AS_UNMOVABLE to mark mapping as completely unmovable Message-ID: <20230725102403.xywjqlhyqkrzjok6@box.shutemov.name> References: <20230718234512.1690985-1-seanjc@google.com> <20230718234512.1690985-11-seanjc@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230718234512.1690985-11-seanjc@google.com> X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 Tue, Jul 18, 2023 at 04:44:53PM -0700, Sean Christopherson wrote: > diff --git a/mm/compaction.c b/mm/compaction.c > index dbc9f86b1934..a3d2b132df52 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -1047,6 +1047,10 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn, > if (!mapping && (folio_ref_count(folio) - 1) > folio_mapcount(folio)) > goto isolate_fail_put; > > + /* The mapping truly isn't movable. */ > + if (mapping && mapping_unmovable(mapping)) > + goto isolate_fail_put; > + I doubt that it is safe to dereference mapping here. I believe the folio can be truncated from under us and the mapping freed with the inode. The folio has to be locked to dereference mapping safely (given that the mapping is still tied to the folio). Vlastimil, any comments? -- Kiryl Shutsemau / Kirill A. Shutemov