From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Lutomirski Subject: Re: [PATCH net-next] modules: allow modprobe load regular elf binaries Date: Fri, 9 Mar 2018 10:48:51 -0800 Message-ID: References: <20180306013457.1955486-1-ast@kernel.org> <87478c51-59a7-f6ac-1fb2-f3ca2dcf658b@fb.com> Mime-Version: 1.0 (1.0) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Linus Torvalds Cc: Alexei Starovoitov , Kees Cook , Alexei Starovoitov , Djalal Harouni , Al Viro , "David S. Miller" , Daniel Borkmann , Greg KH , "Luis R. Rodriguez" , Network Development , LKML , kernel-team , Linux API List-Id: linux-api@vger.kernel.org > On Mar 9, 2018, at 10:17 AM, Linus Torvalds wrote: >=20 >=20 > Hmm. I wish we had an "execute blob" model, but we really don't, and > it would be hard/impossible to do without pinning the pages in memory. >=20 Why so hard? We can already execute a struct file for execveat, and Alexei a= lready has this working for umh. Surely we can make an immutable (as in even= root can=E2=80=99t write it) kernel-internal tmpfs file, execveat it, then u= nlink it. And /proc/PID/exe should be openable and readable. The blob itsel= f would be __initdata so it gets discarded after it lands in tmpfs.=20=