All of lore.kernel.org
 help / color / mirror / Atom feed
* SIGKILL and a sleeping kernel module
@ 2013-02-19  8:37 Kevin Wilson
  2013-02-19  9:11 ` Silviu Popescu
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Kevin Wilson @ 2013-02-19  8:37 UTC (permalink / raw)
  To: kernelnewbies

Hi all,
I am trying to send a SIGKILL to a kernel module which is sleeping.
I added a printk after the sleep command.
Sending a SIGLKILL (by kill -9 SIGLKILL pidOfKernelThread) does **not**
yield the message from printk("calling do_exit\n");
 which is immediately after the msleep() command, as I expected.

Moreover, ps before and after the kill show 'D' in the STAT column
(STATUS), which means that the process is sleeping (If I am not
wrong).

Any ideas why ?
below is the code:

#include<linux/init.h>
#include<linux/module.h>
#include<linux/kernel.h>
#include<linux/kthread.h>
#include<linux/sched.h>
#include <linux/delay.h>

struct task_struct *task;

int thread_function(void *data)
{
    int exit_sig = SIGKILL;

    allow_signal(SIGKILL);

    printk("in %s\n",__func__);
    // sleep for a second
    msleep(60000);
    printk("calling do_exit\n");
    do_exit(exit_sig);

    return 0;
}

static int kernel_init(void)
    {
    task = kthread_create(thread_function,NULL,"MY_KERNEL_THREAD");
    return 0;
}

static void kernel_exit(void)
    {
    printk("in kernel_exit\n");
    kthread_stop(task);
    }


module_init(kernel_init);
module_exit(kernel_exit);

MODULE_AUTHOR("Tester");
MODULE_DESCRIPTION("test");
MODULE_LICENSE("GPL");

rgs,
Kevin

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-02-20  6:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-19  8:37 SIGKILL and a sleeping kernel module Kevin Wilson
2013-02-19  9:11 ` Silviu Popescu
2013-02-19  9:16 ` Srivatsa S. Bhat
2013-02-19 11:32   ` Kevin Wilson
     [not found]     ` <5123643C.1000907@linux.vnet.ibm.com>
2013-02-19 12:00       ` Kevin Wilson
2013-02-19 18:55         ` Mulyadi Santosa
2013-02-20  6:29     ` Srinivas Ganji
2013-02-20  6:33       ` Srinivas Ganji
2013-02-19 19:54   ` Anatol Pomozov
2013-02-19 10:33 ` Valdis.Kletnieks at vt.edu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.