On 22-Nov-2002 Kris Kennaway wrote:
> I tried to kldload acpi on a system that has been running for about 3
> days, and the kldload process has been sitting there swapping for
> about an hour now.  Breaking into DDB shows that
> acpi_alloc_wakeup_handler() is trying to contigmalloc(), and this is
> swapping around presumably trying to find enough space.  The kldload
> process is unkillable from userland because it's working in the
> kernel.
> 
> Can something be done to guard against this?

It's supposed to do that already:

acpi_modevent(struct module *mod, int event, void *junk)
{
    switch(event) {
    case MOD_LOAD:
        if (!cold)
            return(EPERM);
        break;
    ...

also:

static void
acpi_identify(driver_t *driver, device_t parent)
{
    ...
    if(!cold){
            printf("Don't load this driver from userland!!\n");
            return ;
    }
    ...

If that isn't working then there is a bug.

-- 

John Baldwin <[EMAIL PROTECTED]>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to