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=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 CA812C282E9 for ; Mon, 21 Jan 2019 08:10:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 962DC20823 for ; Mon, 21 Jan 2019 08:10:42 +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 S1728448AbfAUIKm (ORCPT ); Mon, 21 Jan 2019 03:10:42 -0500 Received: from mail-pl1-f196.google.com ([209.85.214.196]:41669 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726284AbfAUIKl (ORCPT ); Mon, 21 Jan 2019 03:10:41 -0500 Received: by mail-pl1-f196.google.com with SMTP id u6so9421118plm.8 for ; Mon, 21 Jan 2019 00:10:39 -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=lUal6wPkTkfmZ7vvz8yjMrrDFDvgr/Qp1fSa46iAHwqEI9QwyFrvkREdnOxwd/6H8M EcddlmmqoNhaJIQBIYVorjN+UmM64Mhrzgu92BXQmwUyhCyDP68rOb/uWPYCEmtKgEz2 7uZ9fuVpGsTWYeBWIDiIdnwcwMVo0yx8CO6xlK9PG4f0TzM9JuFLoXQWR5x8ZTlz+E43 1kZiwPkVMlVUACv/7Urv9h3T7AWr10pxW5EOk7lUMHiiq+QPDDdq9CPKUatNchORFuPl Img538/JafVtkYs5441ABQHL7FAZykCXqb5gEKlTy3CE3J/hQYpHCr7WJ72AXmzbeKPg o5kg== X-Gm-Message-State: AJcUukdtpTBh6sNmPC3HnM4l5SKBxF3dGp0CujO9CkHUpB9FnQvZXsqz 2I3L/XYluhYG87H+K4p6caw82gY1tcw= 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: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@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