[klibc] klibc insmod for recent kernels
Rusty Russell
rusty@rustcorp.com.au
Mon, 06 Jan 2003 11:52:31 +1100
In message <3E18C296.80004@zytor.com> you write:
> Rusty Russell wrote:
> >>
> >>Sure, but why spawn /bin/sh to do it? It seems doing it internally
> > would be both cleaner and faster.
> >
> > Loading modules is hardly speed sensitive. "install foo
> > /sbin/modprobe pre-foo && /sbin/modprobe foo" for example. You may
> > want to do arbitrary things, and forcing you to write a shell script
> > isn't a really gread idea.
> >
>
> It isn't, but it creates lots of unwanted dependencies and quite
> possible security holes (bash is big and complex and uses environment
> variables in unsundry ways.)
Yes. But you're root, for a start, and second, I have a patch which
closes any request_module hole (by not forking the thread off whatever
thread calls request_module and then trying to clean the enviroment,
but by using a known-clean kevent thread).
> Perl, for example, only invokes /bin/sh if the command presented to it
> includes shell special operators (like your && above.) Another variant
> -- which is probably better -- is to simply make the user make use of
> "sh -c" if that's what they really want to do.
Well, those options both suck. The first is a bogus optimization and
extra complexity for no reason (in this case), and the second is
almost as silly.
> (By the way, you realize the example above creates an infinite loop,
Yes, I skipped the "/sbin/modprobe --ignore-install foo" for brevity.
> and that would be much better handled by giving modprobe a way to
> introduce dependencies directly, right?)
"Better"? modules.conf has seven ways of doing this: above, below,
pre-install, pre-remove, post-install, post-remove, install and
remove.
And that makes it *so* much better 8)
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.