lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 13 Jun 2014 08:06:31 -0700 From: Andy Lutomirski <luto@...capital.net> To: David Herrmann <dh.herrmann@...il.com> Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, Michael Kerrisk <mtk.manpages@...il.com>, Ryan Lortie <desrt@...rt.ca>, Linus Torvalds <torvalds@...ux-foundation.org>, Andrew Morton <akpm@...ux-foundation.org>, "linux-mm@...ck.org" <linux-mm@...ck.org>, Linux FS Devel <linux-fsdevel@...r.kernel.org>, Linux API <linux-api@...r.kernel.org>, Greg Kroah-Hartman <greg@...ah.com>, John Stultz <john.stultz@...aro.org>, Lennart Poettering <lennart@...ttering.net>, Daniel Mack <zonque@...il.com>, Kay Sievers <kay@...y.org>, Hugh Dickins <hughd@...gle.com>, Tony Battersby <tonyb@...ernetics.com> Subject: Re: [RFC v3 7/7] shm: isolate pinned pages when sealing files On Fri, Jun 13, 2014 at 3:36 AM, David Herrmann <dh.herrmann@...il.com> wrote: > When setting SEAL_WRITE, we must make sure nobody has a writable reference > to the pages (via GUP or similar). We currently check references and wait > some time for them to be dropped. This, however, might fail for several > reasons, including: > - the page is pinned for longer than we wait > - while we wait, someone takes an already pinned page for read-access > > Therefore, this patch introduces page-isolation. When sealing a file with > SEAL_WRITE, we copy all pages that have an elevated ref-count. The newpage > is put in place atomically, the old page is detached and left alone. It > will get reclaimed once the last external user dropped it. > > Signed-off-by: David Herrmann <dh.herrmann@...il.com> Won't this have unexpected effects? Thread 1: start read into mapping backed by fd Thread 2: SEAL_WRITE Thread 1: read finishes. now the page doesn't match the sealed page Is this okay? Or am I missing something? Are there really things that keep unnecessary writable pins around? --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists