From: Suren Baghdasaryan <surenb@google.com>
To: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
"Colin Cross" <ccross@google.com>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Michal Hocko" <mhocko@suse.com>,
"Dave Hansen" <dave.hansen@intel.com>,
"Kees Cook" <keescook@chromium.org>,
"Matthew Wilcox" <willy@infradead.org>,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
"Vlastimil Babka" <vbabka@suse.cz>,
"Johannes Weiner" <hannes@cmpxchg.org>,
"Jonathan Corbet" <corbet@lwn.net>,
"Al Viro" <viro@zeniv.linux.org.uk>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Kalesh Singh" <kaleshsingh@google.com>,
"Peter Xu" <peterx@redhat.com>,
rppt@kernel.org, "Peter Zijlstra" <peterz@infradead.org>,
"Catalin Marinas" <catalin.marinas@arm.com>,
vincenzo.frascino@arm.com,
"Chinwen Chang (張錦文)" <chinwen.chang@mediatek.com>,
"Axel Rasmussen" <axelrasmussen@google.com>,
"Andrea Arcangeli" <aarcange@redhat.com>,
"Jann Horn" <jannh@google.com>,
apopple@nvidia.com, "John Hubbard" <jhubbard@nvidia.com>,
"Yu Zhao" <yuzhao@google.com>, "Will Deacon" <will@kernel.org>,
fenghua.yu@intel.com, thunder.leizhen@huawei.com,
"Hugh Dickins" <hughd@google.com>,
feng.tang@intel.com, "Jason Gunthorpe" <jgg@ziepe.ca>,
"Roman Gushchin" <guro@fb.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
krisman@collabora.com, chris.hyser@oracle.com,
"Peter Collingbourne" <pcc@google.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
"Jens Axboe" <axboe@kernel.dk>,
legion@kernel.org, "Rolf Eike Beer" <eb@emlix.com>,
"Cyrill Gorcunov" <gorcunov@gmail.com>,
"Muchun Song" <songmuchun@bytedance.com>,
"Viresh Kumar" <viresh.kumar@linaro.org>,
"Thomas Cedeno" <thomascedeno@google.com>,
sashal@kernel.org, cxfcosmos@gmail.com,
LKML <linux-kernel@vger.kernel.org>,
linux-fsdevel@vger.kernel.org, linux-doc@vger.kernel.org,
linux-mm <linux-mm@kvack.org>,
kernel-team <kernel-team@android.com>
Subject: Re: [PATCH v9 2/3] mm: add a field to store names for private anonymous memory
Date: Fri, 1 Oct 2021 09:34:08 -0700 [thread overview]
Message-ID: <CAJuCfpH1csz6ghiQ+oHQ6qcs8hUp6qXEVknm3kRpZuUvwB7pRA@mail.gmail.com> (raw)
In-Reply-To: <d8619a98-2380-ca96-001e-60fe9c6204a6@rasmusvillemoes.dk>
On Fri, Oct 1, 2021 at 12:01 AM Rasmus Villemoes
<linux@rasmusvillemoes.dk> wrote:
>
> On 03/09/2021 01.18, Suren Baghdasaryan wrote:
> > From: Colin Cross <ccross@google.com>
> >
> >
> > changes in v9
> > - Changed max anon vma name length from 64 to 256 (as in the original patch)
> > because I found one case of the name length being 139 bytes. If anyone is
> > curious, here it is:
> > dalvik-/data/dalvik-cache/arm64/apex@com.android.permission@priv-app@GooglePermissionController@GooglePermissionController.apk@classes.art
>
> I'm not sure that's a very convincing argument. We don't add code
> arbitrarily just because some userspace code running on some custom
> kernel (ab)uses something in that kernel. Surely that user can come up
> with a name that doesn't contain GooglePermissionController twice.
>
> The argument for using strings and not just a 128 bit uuid was that it
> should (also) be human readable, and 250-byte strings are not that.
> Also, there's no natural law forcing this to be some power-of-two, and
> in fact the implementation means that it's actually somewhat harmful
> (give it a 256 char name, and we'll do a 260 byte alloc, which becomes a
> 512 byte alloc). So just make the limit 80, the kernel's definition of a
> sane line length.
Sounds reasonable. I'll set the limit to 80 and will look into the
userspace part if we can trim the names to abide by this limit.
> As for the allowed chars, it can be relaxed later if convincing arguments can be made.
For the disallowed chars, I would like to go with "\\`$[]" set because
of the example I presented in my last reply. Since we disallow $, the
parsers should be able to process parentheses with no issues I think.
>
>
> > +/* mmap_lock should be read-locked */
> > +static inline bool is_same_vma_anon_name(struct vm_area_struct *vma,
> > + const char *name)
> > +{
> > + const char *vma_name = vma_anon_name(vma);
> > +
> > + if (likely(!vma_name))
> > + return name == NULL;
> > +
> > + return name && !strcmp(name, vma_name);
>
> It's probably preferable to spell this
>
> /* either both NULL, or pointers to same refcounted string */
> if (vma_name == name)
> return true;
>
> return name && vma_name && !strcmp(name, vma_name);
>
> so you have one less conditional in the common case.
Ack.
>
> Rasmus
Thanks for the review!
Suren.
next prev parent reply other threads:[~2021-10-01 16:34 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-02 23:18 [PATCH v9 1/3] mm: rearrange madvise code to allow for reuse Suren Baghdasaryan
2021-09-02 23:18 ` [PATCH v9 2/3] mm: add a field to store names for private anonymous memory Suren Baghdasaryan
2021-09-03 21:35 ` Kees Cook
2021-09-03 21:51 ` Suren Baghdasaryan
2021-09-05 13:04 ` Pavel Machek
2021-09-06 15:52 ` Suren Baghdasaryan
2021-09-03 21:47 ` Kees Cook
2021-09-03 21:56 ` Suren Baghdasaryan
2021-09-03 22:28 ` Kees Cook
2021-10-01 3:44 ` Suren Baghdasaryan
2021-10-01 5:19 ` Kees Cook
2021-09-06 16:55 ` Matthew Wilcox
2021-09-09 4:05 ` Suren Baghdasaryan
2021-09-30 18:56 ` Suren Baghdasaryan
2021-09-30 23:25 ` Kees Cook
2021-10-01 7:01 ` Rasmus Villemoes
2021-10-01 16:34 ` Suren Baghdasaryan [this message]
2021-09-02 23:18 ` [PATCH v9 3/3] mm: add anonymous vma name refcounting Suren Baghdasaryan
2021-09-03 22:20 ` Kees Cook
2021-09-03 0:28 ` [PATCH v9 1/3] mm: rearrange madvise code to allow for reuse Suren Baghdasaryan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAJuCfpH1csz6ghiQ+oHQ6qcs8hUp6qXEVknm3kRpZuUvwB7pRA@mail.gmail.com \
--to=surenb@google.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=apopple@nvidia.com \
--cc=axboe@kernel.dk \
--cc=axelrasmussen@google.com \
--cc=catalin.marinas@arm.com \
--cc=ccross@google.com \
--cc=chinwen.chang@mediatek.com \
--cc=chris.hyser@oracle.com \
--cc=corbet@lwn.net \
--cc=cxfcosmos@gmail.com \
--cc=dave.hansen@intel.com \
--cc=eb@emlix.com \
--cc=ebiederm@xmission.com \
--cc=feng.tang@intel.com \
--cc=fenghua.yu@intel.com \
--cc=gorcunov@gmail.com \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=jannh@google.com \
--cc=jgg@ziepe.ca \
--cc=jhubbard@nvidia.com \
--cc=kaleshsingh@google.com \
--cc=keescook@chromium.org \
--cc=kernel-team@android.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=krisman@collabora.com \
--cc=legion@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux@rasmusvillemoes.dk \
--cc=mhocko@suse.com \
--cc=pcc@google.com \
--cc=peterx@redhat.com \
--cc=peterz@infradead.org \
--cc=rdunlap@infradead.org \
--cc=rppt@kernel.org \
--cc=sashal@kernel.org \
--cc=songmuchun@bytedance.com \
--cc=sumit.semwal@linaro.org \
--cc=tglx@linutronix.de \
--cc=thomascedeno@google.com \
--cc=thunder.leizhen@huawei.com \
--cc=vbabka@suse.cz \
--cc=vincenzo.frascino@arm.com \
--cc=viresh.kumar@linaro.org \
--cc=viro@zeniv.linux.org.uk \
--cc=will@kernel.org \
--cc=willy@infradead.org \
--cc=yuzhao@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox