All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Weimer <fweimer@redhat.com>
To: David Herrmann <dh.herrmann@gmail.com>
Cc: Andy Lutomirski <luto@amacapital.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Michael Kerrisk <mtk.manpages@gmail.com>,
	Ryan Lortie <desrt@desrt.ca>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>,
	Linux API <linux-api@vger.kernel.org>,
	Greg Kroah-Hartman <greg@kroah.com>,
	John Stultz <john.stultz@linaro.org>,
	Lennart Poettering <lennart@poettering.net>,
	Daniel Mack <zonque@gmail.com>, Kay Sievers <kay@vrfy.org>,
	Hugh Dickins <hughd@google.com>,
	Tony Battersby <tonyb@cybernetics.com>
Subject: Re: [PATCH v3 0/7] File Sealing & memfd_create()
Date: Tue, 17 Jun 2014 12:04:56 +0200	[thread overview]
Message-ID: <53A012C8.7060109@redhat.com> (raw)
In-Reply-To: <CANq1E4T3KJZ++=KF2OZ_dd+NvPqg+=4Pw6O7Po3-ZxaaMHPukw@mail.gmail.com>

On 06/17/2014 12:01 PM, David Herrmann wrote:

>> I don't think this is what potential users expect because mlock requires
>> capabilities which are not available to them.
>>
>> A couple of weeks ago, sealing was to be applied to anonymous shared memory.
>> Has this changed?  Why should *reading* it trigger OOM?
>
> The file might have holes, therefore, you'd have to allocate backing
> pages. This might hit a soft-limit and fail. To avoid this, use
> fallocate() to allocate pages prior to mmap()

This does not work because the consuming side does not know how the 
descriptor was set up if sealing does not imply that.

> or mlock() to make the kernel lock them in memory.

See above for why that does not work.

I think you should eliminate the holes on sealing and report ENOMEM 
there if necessary.

-- 
Florian Weimer / Red Hat Product Security Team

WARNING: multiple messages have this Message-ID (diff)
From: Florian Weimer <fweimer@redhat.com>
To: David Herrmann <dh.herrmann@gmail.com>
Cc: Andy Lutomirski <luto@amacapital.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Michael Kerrisk <mtk.manpages@gmail.com>,
	Ryan Lortie <desrt@desrt.ca>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>,
	Linux API <linux-api@vger.kernel.org>,
	Greg Kroah-Hartman <greg@kroah.com>,
	John Stultz <john.stultz@linaro.org>,
	Lennart Poettering <lennart@poettering.net>,
	Daniel Mack <zonque@gmail.com>, Kay Sievers <kay@vrfy.org>,
	Hugh Dickins <hughd@google.com>,
	Tony Battersby <tonyb@cybernetics.com>
Subject: Re: [PATCH v3 0/7] File Sealing & memfd_create()
Date: Tue, 17 Jun 2014 12:04:56 +0200	[thread overview]
Message-ID: <53A012C8.7060109@redhat.com> (raw)
In-Reply-To: <CANq1E4T3KJZ++=KF2OZ_dd+NvPqg+=4Pw6O7Po3-ZxaaMHPukw@mail.gmail.com>

On 06/17/2014 12:01 PM, David Herrmann wrote:

>> I don't think this is what potential users expect because mlock requires
>> capabilities which are not available to them.
>>
>> A couple of weeks ago, sealing was to be applied to anonymous shared memory.
>> Has this changed?  Why should *reading* it trigger OOM?
>
> The file might have holes, therefore, you'd have to allocate backing
> pages. This might hit a soft-limit and fail. To avoid this, use
> fallocate() to allocate pages prior to mmap()

This does not work because the consuming side does not know how the 
descriptor was set up if sealing does not imply that.

> or mlock() to make the kernel lock them in memory.

See above for why that does not work.

I think you should eliminate the holes on sealing and report ENOMEM 
there if necessary.

-- 
Florian Weimer / Red Hat Product Security Team

--
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>

  reply	other threads:[~2014-06-17 10:05 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-13 10:36 [PATCH v3 0/7] File Sealing & memfd_create() David Herrmann
2014-06-13 10:36 ` David Herrmann
2014-06-13 10:36 ` [PATCH v3 1/7] mm: allow drivers to prevent new writable mappings David Herrmann
2014-06-13 10:36   ` David Herrmann
2014-07-09  8:55   ` Hugh Dickins
2014-07-09  8:55     ` Hugh Dickins
2014-07-19 16:12     ` David Herrmann
2014-07-19 16:12       ` David Herrmann
2014-06-13 10:36 ` [PATCH v3 2/7] shm: add sealing API David Herrmann
2014-06-13 10:36   ` David Herrmann
2014-07-16 10:06   ` Hugh Dickins
2014-07-16 10:06     ` Hugh Dickins
2014-07-19 16:17     ` David Herrmann
2014-07-19 16:17       ` David Herrmann
2014-06-13 10:36 ` [PATCH v3 3/7] shm: add memfd_create() syscall David Herrmann
2014-06-13 10:36   ` David Herrmann
2014-06-13 12:27   ` Michael Kerrisk (man-pages)
2014-06-13 12:27     ` Michael Kerrisk (man-pages)
2014-06-13 12:41     ` David Herrmann
2014-06-13 12:41       ` David Herrmann
2014-06-13 14:20       ` Michael Kerrisk (man-pages)
2014-06-13 14:20         ` Michael Kerrisk (man-pages)
2014-06-13 16:20         ` John Stultz
2014-06-13 16:20           ` John Stultz
2014-06-13 16:20           ` John Stultz
2014-06-16  4:12           ` Michael Kerrisk (man-pages)
2014-06-16  4:12             ` Michael Kerrisk (man-pages)
2014-07-08 18:39         ` David Herrmann
2014-07-08 18:39           ` David Herrmann
2014-06-15 10:50   ` Jann Horn
2014-07-16 10:07   ` Hugh Dickins
2014-07-16 10:07     ` Hugh Dickins
2014-07-19 16:29     ` David Herrmann
2014-07-19 16:29       ` David Herrmann
2014-06-13 10:36 ` [PATCH v3 4/7] selftests: add memfd_create() + sealing tests David Herrmann
2014-06-13 10:36   ` David Herrmann
2014-07-16 10:07   ` Hugh Dickins
2014-07-16 10:07     ` Hugh Dickins
2014-07-19 16:31     ` David Herrmann
2014-07-19 16:31       ` David Herrmann
2014-06-13 10:36 ` [PATCH v3 5/7] selftests: add memfd/sealing page-pinning tests David Herrmann
2014-06-13 10:36   ` David Herrmann
2014-07-16 10:08   ` Hugh Dickins
2014-07-16 10:08     ` Hugh Dickins
2014-07-19 16:32     ` David Herrmann
2014-07-19 16:32       ` David Herrmann
2014-06-13 10:36 ` [RFC v3 6/7] shm: wait for pins to be released when sealing David Herrmann
2014-06-13 10:36   ` David Herrmann
2014-07-16 10:09   ` Hugh Dickins
2014-07-16 10:09     ` Hugh Dickins
2014-07-19 16:36     ` David Herrmann
2014-07-19 16:36       ` David Herrmann
2014-06-13 10:36 ` [RFC v3 7/7] shm: isolate pinned pages when sealing files David Herrmann
2014-06-13 10:36   ` David Herrmann
2014-06-13 15:06   ` Andy Lutomirski
2014-06-13 15:06     ` Andy Lutomirski
2014-06-13 15:27     ` David Herrmann
2014-06-13 15:27       ` David Herrmann
2014-06-13 17:23       ` Andy Lutomirski
2014-06-13 17:23         ` Andy Lutomirski
2014-07-09  8:57   ` Hugh Dickins
2014-07-09  8:57     ` Hugh Dickins
2014-07-19 16:40     ` David Herrmann
2014-07-19 16:40       ` David Herrmann
2014-06-13 15:10 ` [PATCH v3 0/7] File Sealing & memfd_create() Andy Lutomirski
2014-06-13 15:10   ` Andy Lutomirski
2014-06-13 15:15   ` David Herrmann
2014-06-13 15:15     ` David Herrmann
2014-06-13 15:15     ` David Herrmann
2014-06-13 15:17     ` Andy Lutomirski
2014-06-13 15:17       ` Andy Lutomirski
2014-06-13 15:17       ` Andy Lutomirski
2014-06-13 15:33       ` David Herrmann
2014-06-13 15:33         ` David Herrmann
2014-06-13 15:33         ` David Herrmann
2014-06-17  9:54         ` Florian Weimer
2014-06-17  9:54           ` Florian Weimer
2014-06-17 10:01           ` David Herrmann
2014-06-17 10:01             ` David Herrmann
2014-06-17 10:01             ` David Herrmann
2014-06-17 10:04             ` Florian Weimer [this message]
2014-06-17 10:04               ` Florian Weimer
2014-06-17 10:10               ` David Herrmann
2014-06-17 10:10                 ` David Herrmann
2014-06-17 12:13                 ` Florian Weimer
2014-06-17 12:13                   ` Florian Weimer
2014-06-17 13:26                   ` David Herrmann
2014-06-17 13:26                     ` David Herrmann
2014-06-17 13:26                     ` David Herrmann
2014-06-17 16:20             ` Andy Lutomirski
2014-06-17 16:36               ` David Herrmann
2014-06-17 16:36                 ` David Herrmann
2014-06-17 16:41                 ` Andy Lutomirski
2014-06-17 16:41                   ` Andy Lutomirski
2014-06-17 16:51                   ` David Herrmann
2014-06-17 16:51                     ` David Herrmann
2014-06-17 17:01                     ` Andy Lutomirski
2014-06-17 17:01                       ` Andy Lutomirski
2014-06-17 20:31                       ` Hugh Dickins
2014-06-17 20:31                         ` Hugh Dickins
2014-06-17 20:31                         ` Hugh Dickins
2014-06-17 21:25                         ` Andy Lutomirski
2014-06-17 21:25                           ` Andy Lutomirski
2014-07-08 16:54 ` David Herrmann
2014-07-08 16:54   ` David Herrmann
2014-07-09  8:53   ` Hugh Dickins
2014-07-09  8:53     ` Hugh Dickins

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=53A012C8.7060109@redhat.com \
    --to=fweimer@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=desrt@desrt.ca \
    --cc=dh.herrmann@gmail.com \
    --cc=greg@kroah.com \
    --cc=hughd@google.com \
    --cc=john.stultz@linaro.org \
    --cc=kay@vrfy.org \
    --cc=lennart@poettering.net \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@amacapital.net \
    --cc=mtk.manpages@gmail.com \
    --cc=tonyb@cybernetics.com \
    --cc=torvalds@linux-foundation.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.