Messages in this thread | | | Subject | Re: [PATCH net-next] modules: allow modprobe load regular elf binaries | From | Alexei Starovoitov <> | Date | Fri, 9 Mar 2018 17:43:12 -0800 |
| |
On 3/9/18 11:37 AM, Andy Lutomirski wrote: > On Fri, Mar 9, 2018 at 6:55 PM, David Miller <davem@davemloft.net> wrote: >> From: Alexei Starovoitov <ast@fb.com> >> 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.
I can do "monkey see monkey do" approach which will look like: type = get_fs_type("tmpfs"); fs = kern_mount(type);
/* for each request_umh("foo") */ file = shmem_file_setup_with_mnt(fs, "umh_foo"); do { pagecache_write_begin(file,...); memcpy() pagecache_write_end(); } while (umh_elf_size); do_execve_file(file); fput(file);
while keeping fs mounted forever? is there better way?
| |