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 X-Spam-Level: X-Spam-Status: No, score=-11.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2C3AC433E0 for ; Mon, 22 Mar 2021 21:01:01 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 889976191C for ; Mon, 22 Mar 2021 21:01:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 889976191C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 19D786B010E; Mon, 22 Mar 2021 17:01:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1752E6B0110; Mon, 22 Mar 2021 17:01:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 016846B0111; Mon, 22 Mar 2021 17:01:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id DDE856B010E for ; Mon, 22 Mar 2021 17:01:00 -0400 (EDT) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id A363E1E06 for ; Mon, 22 Mar 2021 21:01:00 +0000 (UTC) X-FDA: 77948729838.16.BC2F06B Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf05.hostedemail.com (Postfix) with ESMTP id 81747E016155 for ; Mon, 22 Mar 2021 21:00:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616446838; 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=c6WtZIP3Pv8Sts2xBUJYEw6AY7dI8VFWAi8J8oYd58g=; b=JemlItvPSdxIZFz1VbkYMP/hHhtZc9AeqlNHAMcjcvP3mSjxLCH/h2KagttqBFsRNpN35T mZw4Tjus1row2HrHRF+WeFUGyhS5ycsz6571kAs8KQ3aZljqQxsnnmCey4JFeeIUsU8vIV rxr/KBnO/ESMbv6waDQUpIDkmLKDn1I= Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-158-WQfIWrNlPHCDDD3CxGV8pA-1; Mon, 22 Mar 2021 17:00:36 -0400 X-MC-Unique: WQfIWrNlPHCDDD3CxGV8pA-1 Received: by mail-qk1-f198.google.com with SMTP id h21so437350qkl.12 for ; Mon, 22 Mar 2021 14:00:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=c6WtZIP3Pv8Sts2xBUJYEw6AY7dI8VFWAi8J8oYd58g=; b=r5v/re13aTWvxPwxK5FHDyweyiNscAPDGWudp7gcV+pbKSVeyr4ohsSUE/DvKwdMix kal17cvKMESixCfE0/tAUpzIR4kjAtTvuUXi0156n7MF5pIt2p+lSwnNwfcx5jG2dRqh huPag+87S08EpD6EvPQoh6/ggG7SZ01ljw5Wy8L1UAOu28oZ8oTasD1lrQPGuLFKCm65 LJyuEPdArLEBxs23Di9/HfhQuLMupm814unA0+ZZUhmvEEvPjINIjWf5ccplsdBcG9uN 4iczTn9pH67EMlIV+Rye/K9ygTgGejsUz8OXl3HvmmG56J2k5dGD+L+9y/TVn5RqIooj 0d3A== X-Gm-Message-State: AOAM532YsnYATlaOB3ZEBkO/jjYghzNunn/XvcCSSkaaIkDeapMBbF15 nCERaY1qnn27mNwsh0ZI1ABM5oT4Nt7SepaRm2m980z7yqTUkizK/JsdhrcAuF66oHErlkGGZtO xkirVqHYJ5Ks= X-Received: by 2002:a37:b07:: with SMTP id 7mr1967641qkl.437.1616446836048; Mon, 22 Mar 2021 14:00:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwQd0PhyYegD6z3hStlomrWz7fldh8CLfj/9QsIxn62XAVmyQ2p22XQ5XNwdBsS8CuH5dU6Lg== X-Received: by 2002:a37:b07:: with SMTP id 7mr1967476qkl.437.1616446834557; Mon, 22 Mar 2021 14:00:34 -0700 (PDT) Received: from xz-x1 (bras-base-toroon474qw-grc-82-174-91-135-175.dsl.bell.ca. [174.91.135.175]) by smtp.gmail.com with ESMTPSA id b17sm9688484qtp.73.2021.03.22.14.00.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Mar 2021 14:00:34 -0700 (PDT) Date: Mon, 22 Mar 2021 17:00:31 -0400 From: Peter Xu To: Axel Rasmussen Cc: Alexander Viro , Andrea Arcangeli , Andrew Morton , Hugh Dickins , Jerome Glisse , Joe Perches , Lokesh Gidra , Mike Rapoport , Shaohua Li , Shuah Khan , Wang Qing , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, Brian Geffon , Cannon Matthews , "Dr . David Alan Gilbert" , David Rientjes , Michel Lespinasse , Mina Almasry , Oliver Upton Subject: Re: [PATCH] userfaultfd/shmem: fix minor fault page leak Message-ID: <20210322210031.GH16645@xz-x1> References: <20210322204836.1650221-1-axelrasmussen@google.com> MIME-Version: 1.0 In-Reply-To: <20210322204836.1650221-1-axelrasmussen@google.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=peterx@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 81747E016155 X-Stat-Signature: h5cpeb1chi1sou4we5x833air3mcfekk Received-SPF: none (redhat.com>: No applicable sender policy available) receiver=imf05; identity=mailfrom; envelope-from=""; helo=us-smtp-delivery-124.mimecast.com; client-ip=170.10.133.124 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1616446843-145112 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 22, 2021 at 01:48:35PM -0700, Axel Rasmussen wrote: > This fix is analogous to Peter Xu's fix for hugetlb [0]. If we don't > put_page() after getting the page out of the page cache, we leak the > reference. > > The fix can be verified by checking /proc/meminfo and running the > userfaultfd selftest in shmem mode. Without the fix, we see MemFree / > MemAvailable steadily decreasing with each run of the test. With the > fix, memory is correctly freed after the test program exits. > > Fixes: 00da60b9d0a0 ("userfaultfd: support minor fault handling for shmem") > Signed-off-by: Axel Rasmussen Reviewed-by: Peter Xu -- Peter Xu