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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF267C001E0 for ; Tue, 25 Jul 2023 10:24:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233381AbjGYKYQ (ORCPT ); Tue, 25 Jul 2023 06:24:16 -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> Precedence: bulk List-ID: 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