On Mon, 29 Jun 2009, Mulyadi Santosa wrote:

> In kernel/module.c, I see function which is declared like this:
> SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
>                 unsigned int, flags)
>
> and few lines below that, you'll see:
>  /* If it has an init func, it must have an exit func to unload */
>         if (mod->init && !mod->exit) {
>                 forced = try_force_unload(flags);
>                 if (!forced) {
>                         /* This module can't be removed */
>                         ret = -EBUSY;
>                         goto out;
>                 }
>         }
>
> let's assume the code doesn't reach "goto out". Then few lines below
> that we shall see a call to free_module(). Brief check of the code
> inside that function (theoritically) convince me that you can wipe
> your "permanent" module.

 yup, i'm convinced, thanks.  more questions shortly.

rday
--

========================================================================
Robert P. J. Day                               Waterloo, Ontario, CANADA

        Linux Consulting, Training and Annoying Kernel Pedantry.

Web page:                                          http://crashcourse.ca
Linked In:                             http://www.linkedin.com/in/rpjday
Twitter:                                       http://twitter.com/rpjday
========================================================================

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to