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 19:37:57 +0000 Message-ID: References: <20180309181527.GA15803@kroah.com> <74e26cc0-9e72-f03b-5396-f3480921f234@fb.com> <20180309.135550.385837861865623769.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: In-Reply-To: <20180309.135550.385837861865623769.davem@davemloft.net> Sender: linux-kernel-owner@vger.kernel.org To: David Miller Cc: Alexei Starovoitov , Greg KH , Andrew Lutomirski , Linus Torvalds , Kees Cook , Alexei Starovoitov , Djalal Harouni , Al Viro , Daniel Borkmann , "Luis R. Rodriguez" , Network Development , LKML , kernel-team , Linux API List-Id: linux-api@vger.kernel.org On Fri, Mar 9, 2018 at 6:55 PM, David Miller wrote: > From: Alexei Starovoitov > Date: Fri, 9 Mar 2018 10:50:49 -0800 > >> On 3/9/18 10:23 AM, Andy Lutomirski wrote: >>> It might not be totally crazy to back it by tmpfs. >> >> interesting. how do you propose to do it? >> Something like: >> - create /umh_module_tempxxx dir >> - mount tmpfs there >> - copy elf into it and exec it? > > I think the idea is that it's an internal tmpfs mount that only > the kernel has access too. That's what I was imagining. There's precedent. For example, there's a very short piece of code that does it in drivers/gpu/drm/i915/i915_gemfs.c. > > And I don't think that even hurts your debuggability concerns. The > user can just attach using the foo.ko file in the actual filesystem. > Not if the .ko is actually a shim that actually just contains a blob and a few lines of code to kick off the umh. But one could still debug it using kernel debug symbols (like vDSO debugging works right now, at least if your distro is in a good mood) or by reading the contents from /proc/PID/exe.