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.4 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=no 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 D861DC433E1 for ; Thu, 20 Aug 2020 23:52:11 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8BEF220885 for ; Thu, 20 Aug 2020 23:52:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="dVis3497" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8BEF220885 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 052FD8D0006; Thu, 20 Aug 2020 19:52:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 003BB8D0001; Thu, 20 Aug 2020 19:52:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E354D8D0006; Thu, 20 Aug 2020 19:52:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0132.hostedemail.com [216.40.44.132]) by kanga.kvack.org (Postfix) with ESMTP id CAF188D0001 for ; Thu, 20 Aug 2020 19:52:10 -0400 (EDT) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 8C1AF181AEF07 for ; Thu, 20 Aug 2020 23:52:10 +0000 (UTC) X-FDA: 77172598020.26.bath85_4a126f827034 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin26.hostedemail.com (Postfix) with ESMTP id 64D221804A300 for ; Thu, 20 Aug 2020 23:52:10 +0000 (UTC) X-HE-Tag: bath85_4a126f827034 X-Filterd-Recvd-Size: 6502 Received: from mail-vs1-f65.google.com (mail-vs1-f65.google.com [209.85.217.65]) by imf28.hostedemail.com (Postfix) with ESMTP for ; Thu, 20 Aug 2020 23:52:09 +0000 (UTC) Received: by mail-vs1-f65.google.com with SMTP id o184so2038287vsc.0 for ; Thu, 20 Aug 2020 16:52:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=uwiCgbHpXVjGqFaO591Xs1jpjfPFf+1Uq3FKa79cp/Y=; b=dVis3497bvEJ6LE/GoMRI86MSLTA9r1SvS6d4azZndG97aM1C6kEZR5xfGRYNV5ugU 4yHSkzVvHygzNajCG3G1sq0EekX1m81nNxyeCsqwRF/RlD2AVM20OCtruyPn16NjMuxU RDY6sJYH/587arqTKT6iqvTOjdIipkKfLLKm6yv/HHmEQjOGoFsMtxt9yQPl0ralVV5H xPErD8Mfn6i3Xo4pQJ1wMs0/WzR6TSGsvMq1wNWfH5l72PEvqLaqJHtb/xvT21vTlXm4 4dqxgi74A1rNu+rVOuDGAzQkf2mKY54awibxxl8iuzGYO5gUE/3heKUt5yZyRM9C1dQi meNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=uwiCgbHpXVjGqFaO591Xs1jpjfPFf+1Uq3FKa79cp/Y=; b=f4SdW9owsM9JaRE3PU0NWy0vACnytckacZJeQl+4pscJ66ZpkLvW0epCFciDSygktt bga6eBjZOf4c/TzS1ztDHpvOHK4Wber729WKKDOkGSHmZl9SkOMxXylwCPHqVLLxChcV YDrd9Lqk51mIyyLGJzL0IjvtQcrvRI9Dvna5XfjDH5zR3AT3Nt1sTkrtDqUG/yM/Zh9G KUBdELNgEWGcEdebFF54dp66+nYwoW57QVS2U8XURiyHHLhFIH7dxHhnreOGj6lF60np u1f9bscbANJRdNHyy9OhuDtT+cfIhOa1iXj/Kujqp5EmeS/u3WfumL5xwGpbHgttuPKY LQFA== X-Gm-Message-State: AOAM530BupWfA1UB+1BArKiwxGSFSA/yG/DTRYCwDedczcGCEB/Tbvv1 hppvbUW/tbR5phdBORXW8KqI+H5kp9WDkF+tNqt/xA== X-Google-Smtp-Source: ABdhPJzYBc80b58rTTDdv/4HACxQhvpG74H0QZNr+Wgtyy8IyxrqOwLYYeXYQVc794QoyIhGwIfzQMH32DvZFzQJ63Q= X-Received: by 2002:a67:d908:: with SMTP id t8mr301844vsj.215.1597967529099; Thu, 20 Aug 2020 16:52:09 -0700 (PDT) MIME-Version: 1.0 References: <20200819141650.7462-1-sumit.semwal@linaro.org> <20200819141650.7462-3-sumit.semwal@linaro.org> <20200820214003.GR2074@grain> <20200820221549.GV2074@grain> In-Reply-To: <20200820221549.GV2074@grain> From: Colin Cross Date: Thu, 20 Aug 2020 16:51:57 -0700 Message-ID: Subject: Re: [PATCH v5 2/2] mm: add a field to store names for private anonymous memory To: Cyrill Gorcunov Cc: Sumit Semwal , Andrew Morton , Linux-MM , lkml , Alexey Dobriyan , Jonathan Corbet , Mauro Carvalho Chehab , Kees Cook , Michal Hocko , Alexey Gladkov , Matthew Wilcox , Jason Gunthorpe , "Kirill A . Shutemov" , Michel Lespinasse , =?UTF-8?Q?Michal_Koutn=C3=BD?= , Song Liu , Huang Ying , Vlastimil Babka , Yang Shi , chenqiwu , Mathieu Desnoyers , John Hubbard , Thomas Hellstrom , Mike Christie , Bart Van Assche , Amit Pundir , Thomas Gleixner , Christian Brauner , Daniel Jordan , Adrian Reber , Nicolas Viennot , Al Viro , Thomas Cedeno , linux-fsdevel@vger.kernel.org, Pekka Enberg , Dave Hansen , Peter Zijlstra , Ingo Molnar , Oleg Nesterov , "Eric W. Biederman" , Jan Glauber , John Stultz , Rob Landley , "Serge E. Hallyn" , David Rientjes , Hugh Dickins , Rik van Riel , Mel Gorman , Tang Chen , Robin Holt , Shaohua Li , Sasha Levin , Johannes Weiner , Minchan Kim Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 64D221804A300 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam04 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 Thu, Aug 20, 2020 at 3:15 PM Cyrill Gorcunov wrote: > > On Thu, Aug 20, 2020 at 02:45:27PM -0700, Colin Cross wrote: > > > > > > Guys, could you please enlighen me, I don't understand -- we pass some > > > random user-space pointer and save it in vm_area_struct then in procfs > > > we treat it as "string" and print out? What prevents me to put some crap > > > here then unmap this pointer the kernel will cause page fault in procfs > > > output (in best scenario)? > > > > This is the same pattern used for /proc/pid/cmdline. > > acccess_remote_vm handles addresses in unmapped pages, it will return > > 0 if no bytes were readable. > > Yes, been in this part of code too long ago, managed to forget. You know > I'm wondering do we really need a human readable names here? Maybe it would > be more convenient to keep say u64 number instead? This would eliminate > need to access VM at all. From user space point of view there should be > no difference how to recognize such VMAs (by name or by some ID). Or there > some need for string solely? Numbers instead of strings would require some central registry to decode them, which would make it much harder to use. You can see some examples of how Android uses it at https://pastebin.com/BQZ1vZnJ for the cat proces and https://pastebin.com/YNUTvZyz for an ART process. We label individual stacks with their TIDs (useful since the stack TID annotation was reverted in 65376df582174ffcec9e6471bf5b0dd79ba05e4a), the various heaps created by different allocators, and much more. The data is consumed manually for debugging, as well as by various memory stats collection and analysis tools.