linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Stultz <john.stultz@linaro.org>
To: David Herrmann <dh.herrmann@gmail.com>, linux-kernel@vger.kernel.org
Cc: "Hugh Dickins" <hughd@google.com>,
	"Alexander Viro" <viro@zeniv.linux.org.uk>,
	"Matthew Wilcox" <matthew@wil.cx>,
	"Karol Lewandowski" <k.lewandowsk@samsung.com>,
	"Kay Sievers" <kay@vrfy.org>, "Daniel Mack" <zonque@gmail.com>,
	"Lennart Poettering" <lennart@poettering.net>,
	"Kristian Høgsberg" <krh@bitplanet.net>,
	"Greg Kroah-Hartman" <greg@kroah.com>,
	"Tejun Heo" <tj@kernel.org>,
	"Johannes Weiner" <hannes@cmpxchg.org>,
	dri-devel@lists.freedesktop.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, "Andrew Morton" <akpm@linux-foundation.org>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Ryan Lortie" <desrt@desrt.ca>,
	"Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>,
	"Colin Cross" <ccross@android.com>
Subject: Re: [PATCH 3/6] shm: add memfd_create() syscall
Date: Thu, 20 Mar 2014 12:22:05 -0700	[thread overview]
Message-ID: <532B3FDD.1090108@linaro.org> (raw)
In-Reply-To: <1395256011-2423-4-git-send-email-dh.herrmann@gmail.com>

On 03/19/2014 12:06 PM, David Herrmann wrote:
> memfd_create() is similar to mmap(MAP_ANON), but returns a file-descriptor
> that you can pass to mmap(). It explicitly allows sealing and
> avoids any connection to user-visible mount-points. Thus, it's not
> subject to quotas on mounted file-systems, but can be used like
> malloc()'ed memory, but with a file-descriptor to it.
>
> memfd_create() does not create a front-FD, but instead returns the raw
> shmem file, so calls like ftruncate() can be used. Also calls like fstat()
> will return proper information and mark the file as regular file. Sealing
> is explicitly supported on memfds.
>
> Compared to O_TMPFILE, it does not require a tmpfs mount-point and is not
> subject to quotas and alike.

This syscall would also be useful to Android, since it would satisfy the
requirement for providing atomically unlinked tmpfs fds that ashmem
provides (although upstreamed solutions to ashmem's other
functionalities are still needed).

My only comment is that I think memfd_* is sort of a new namespace.
Since this is providing shmem files, it seems it might be better named
something like shmfd_create() or my earlier suggestion of shmget_fd(). 
Otherwise, when talking about functionality like sealing, which is only
available on shmfs, we'll have to say "shmfs/tmpfs/memfd" or risk
confusing folks who might not initially grasp that its all the same
underneath.

thanks
-john







--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2014-03-20 19:22 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-19 19:06 [PATCH 0/6] File Sealing & memfd_create() David Herrmann
2014-03-19 19:06 ` [PATCH 1/6] fs: fix i_writecount on shmem and friends David Herrmann
2014-03-19 19:06 ` [PATCH 2/6] shm: add sealing API David Herrmann
2014-03-19 19:06 ` [PATCH 3/6] shm: add memfd_create() syscall David Herrmann
2014-03-20  8:47   ` Cyrill Gorcunov
2014-03-20  9:01     ` Pavel Emelyanov
2014-03-20 11:29       ` David Herrmann
2014-03-20 11:50         ` Pavel Emelyanov
2014-03-20 19:22   ` John Stultz [this message]
2014-04-02 13:38   ` Konstantin Khlebnikov
2014-04-02 14:18     ` David Herrmann
2014-04-02 14:52       ` Konstantin Khlebnikov
2014-04-10 19:07     ` Andy Lutomirski
2014-03-19 19:06 ` [PATCH 4/6] selftests: add memfd_create() + sealing tests David Herrmann
2014-03-19 19:06 ` [PATCH man-pages 5/6] fcntl.2: document SHMEM_SET/GET_SEALS commands David Herrmann
2014-03-19 19:06 ` [PATCH man-pages 6/6] memfd_create.2: add memfd_create() man-page David Herrmann
2014-03-20  2:55 ` [PATCH 0/6] File Sealing & memfd_create() Greg Kroah-Hartman
2014-03-20  3:49 ` Linus Torvalds
2014-03-20  8:07   ` David Herrmann
2014-03-20 14:41     ` One Thousand Gnomes
2014-03-20 15:12       ` David Herrmann
2014-03-20 15:26         ` One Thousand Gnomes
2014-03-20 15:32 ` tytso
2014-03-20 15:39   ` One Thousand Gnomes
2014-03-20 15:48   ` David Herrmann
2014-03-20 16:38     ` tytso
2014-04-10 19:14       ` Andy Lutomirski
2014-04-10 20:32         ` Theodore Ts'o
2014-04-10 20:37           ` Andy Lutomirski
2014-04-10 20:49             ` David Herrmann
2014-04-10 21:16               ` Andy Lutomirski
2014-04-10 22:57                 ` David Herrmann
2014-04-10 23:05                   ` Andy Lutomirski
2014-04-10 23:16                     ` David Herrmann
2014-04-10 23:32                       ` Andy Lutomirski
2014-04-20 15:03             ` Pavel Machek
2014-06-17  9:48             ` Florian Weimer
2014-06-17 16:21               ` Andy Lutomirski
2014-04-10 14:45   ` Colin Walters
2014-04-10 19:15     ` Andy Lutomirski
2014-04-10 19:45       ` Colin Walters
2014-04-11  6:09         ` Alex Elsayed
2014-04-08 13:00 ` Florian Weimer
2014-04-09 21:31   ` David Herrmann
2014-04-22  9:10     ` Florian Weimer
2014-04-22 11:55       ` David Herrmann
2014-04-22 12:44         ` Florian Weimer
2014-04-22 12:55           ` David Herrmann
2014-04-10 19:17   ` Andy Lutomirski

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=532B3FDD.1090108@linaro.org \
    --to=john.stultz@linaro.org \
    --cc=akpm@linux-foundation.org \
    --cc=ccross@android.com \
    --cc=desrt@desrt.ca \
    --cc=dh.herrmann@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=greg@kroah.com \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=k.lewandowsk@samsung.com \
    --cc=kay@vrfy.org \
    --cc=krh@bitplanet.net \
    --cc=lennart@poettering.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=matthew@wil.cx \
    --cc=mtk.manpages@gmail.com \
    --cc=tj@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    --cc=zonque@gmail.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;
as well as URLs for NNTP newsgroup(s).