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=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 86263C282E9 for ; Mon, 21 Jan 2019 08:17:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5517620855 for ; Mon, 21 Jan 2019 08:17:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=android.com header.i=@android.com header.b="vOEFLvDi" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727823AbfAUIRp (ORCPT ); Mon, 21 Jan 2019 03:17:45 -0500 Received: from mail-pl1-f196.google.com ([209.85.214.196]:38328 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727695AbfAUIRp (ORCPT ); Mon, 21 Jan 2019 03:17:45 -0500 Received: by mail-pl1-f196.google.com with SMTP id e5so9446572plb.5 for ; Mon, 21 Jan 2019 00:17:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ucO+mEyukstSZOvX/DChuy7j9sUdkEFCR7xKzTtgKxM=; b=vOEFLvDifGw5avCbsCCz5QvbSdVOTDHlqRwfyD0Q1kaXsSRKWzVCqVd5gSoTO1Ph0o YzMoo3aLurhTaVY+G7Z2RdAlZKLaWyqllQCct4kQnVsGWK5kHJAysUEjR5idEIKTN9aJ b/vDe+L2zL2D5Zl0vIy6N4mM2ulQK6XHPv+pJC81HP42MqGxGwIm8u6doeoKpyfduQWX 6mBDU/gyALKpAOgPoihX4FyTLECy3P+iZCFS9wKVEczm4WSDJcAy0M8uzg2Kn1nf3l1E hRlRFGKLqfIaKtwgjDrVNToTEvB8jim9Sb3yd7HeZC39rOJK81qPfsvbZtl6enGa3DXt clKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ucO+mEyukstSZOvX/DChuy7j9sUdkEFCR7xKzTtgKxM=; b=CmQCTss4CS/vOqTxwEUUwBwnjxCKih/xrBeSwPSy9c06wXUgmM8XDy9QHidiLzTIf5 MTwDOuWcAh6HkpolspzdyILmiDRnBV4Lc15b/cPVmH1yzph5vcsK/omYAYqFgu/t0Y/3 h4ac+maM2nhI4sqwAjOJn8+P4DRoszTyiPf0mZHfKCPDU0cuqP342vCSsB+gEKkUkRin 9freVq9TJ1+R1NwjgrUnroXQdUMSXrqq4ABl6SzkzN/TuYeqWkGa2EDbWzEPFp3IzeTx iR77a+uuzmQ10gBUwXXK5GUcuvkp//LEPnb3YZo5mYslQoQ65m3HJ/l75dfmlcJxa6Au DVpg== X-Gm-Message-State: AJcUukfizEZUbiCmj50e0BpR5R0JSTfuaSmKVnagIUgzz1vpHh+HvvaO jsjx7zS6y9VRc6MkGYs+hW6saA== X-Google-Smtp-Source: ALg8bN7vzbRoRjqMbTtv/6fG2CcHXyYU9hGVxqG89Xa8OkMJDc0udiZei0505/7Y5eMeu/ePKZe9Ag== X-Received: by 2002:a17:902:be11:: with SMTP id r17mr6240646pls.308.1548033050922; Sun, 20 Jan 2019 17:10:50 -0800 (PST) Received: from sspatil-glaptop2.roam.corp.google.com (c-73-170-36-70.hsd1.ca.comcast.net. [73.170.36.70]) by smtp.gmail.com with ESMTPSA id 4sm13985132pfq.10.2019.01.20.17.10.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 20 Jan 2019 17:10:50 -0800 (PST) From: Sandeep Patil To: vbabka@suse.cz, adobriyan@gmail.com, akpm@linux-foundation.org, avagin@openvz.org Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, kernel-team@android.com, dancol@google.com Subject: [PATCH] mm: proc: smaps_rollup: Fix pss_locked calculation Date: Sun, 20 Jan 2019 17:10:49 -0800 Message-Id: <20190121011049.160505-1-sspatil@android.com> X-Mailer: git-send-email 2.20.1.321.g9e740568ce-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org The 'pss_locked' field of smaps_rollup was being calculated incorrectly as it accumulated the current pss everytime a locked VMA was found. Fix that by making sure we record the current pss value before each VMA is walked. So, we can only add the delta if the VMA was found to be VM_LOCKED. Fixes: 493b0e9d945f ("mm: add /proc/pid/smaps_rollup") Cc: stable@vger.kernel.org # 4.14.y 4.19.y Signed-off-by: Sandeep Patil --- fs/proc/task_mmu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index f0ec9edab2f3..51a00a2b4733 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -709,6 +709,7 @@ static void smap_gather_stats(struct vm_area_struct *vma, #endif .mm = vma->vm_mm, }; + unsigned long pss; smaps_walk.private = mss; @@ -737,11 +738,12 @@ static void smap_gather_stats(struct vm_area_struct *vma, } } #endif - + /* record current pss so we can calculate the delta after page walk */ + pss = mss->pss; /* mmap_sem is held in m_start */ walk_page_vma(vma, &smaps_walk); if (vma->vm_flags & VM_LOCKED) - mss->pss_locked += mss->pss; + mss->pss_locked += mss->pss - pss; } #define SEQ_PUT_DEC(str, val) \ -- 2.20.1.321.g9e740568ce-goog