[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200531164938.GF19604@bombadil.infradead.org>
Date: Sun, 31 May 2020 09:49:38 -0700
From: Matthew Wilcox <willy@...radead.org>
To: Paul Gofman <gofmanp@...il.com>
Cc: Gabriel Krisman Bertazi <krisman@...labora.com>,
Kees Cook <keescook@...omium.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, kernel@...labora.com,
Thomas Gleixner <tglx@...utronix.de>,
Andy Lutomirski <luto@...capital.net>,
Will Drewry <wad@...omium.org>,
"H . Peter Anvin" <hpa@...or.com>,
linux-security-module@...r.kernel.org,
Zebediah Figura <zfigura@...eweavers.com>
Subject: Re: [PATCH RFC] seccomp: Implement syscall isolation based on memory
areas
On Sun, May 31, 2020 at 03:39:33PM +0300, Paul Gofman wrote:
> > Paul (cc'ed) is the wine expert, but my understanding is that memory
> > allocation and initial program load of the emulated binary will go
> > through wine. It does the allocation and mark the vma accordingly
> > before returning the allocated range to the windows application.
> Yes, exactly. Pretty much any memory allocation which Wine does needs
> syscalls (if those are ever encountered later during executing code from
> those areas) to be trapped by Wine and passed to Wine's implementation
> of the corresponding Windows API function. Linux native libraries
> loading and memory allocations performed by them go outside of Wine control.
I don't like Gabriel's approach very much. Could we do something like
issue a syscall before executing a Windows region and then issue another
syscall when exiting? If so, we could switch the syscall entry point (ie
change MSR_LSTAR). I'm thinking something like a personality() syscall.
But maybe that would be too high an overhead.
Powered by blists - more mailing lists