where are the bug ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HI ALL:
    I just run a module on my machine, but it  can't work. When the module run the kernel will painc. I don't know where is wrong. This is my code:

 1 #include<linux/module.h>
  2 #include<linux/kernel.h>
  3 #include<linux/init.h>
  4 #include<linux/sched.h>
  5
  6 int input = 1;
  7 module_param (input, int, S_IRUGO);
  8
  9 static int __init printvma_init (void)
 10 {
 11     struct vm_area_struct *p, *start;
 12     int i;
 13     struct task_struct *thread;                                                    
 14
 15     thread = current;
 16
 17     while (1)
 18     {
 19         if (thread->pid == input)
 20             break;
 21         thread = list_entry (thread->tasks.next, struct task_struct, tasks);
 22     }
 23     p = thread->mm->mmap;
 24
 25     do{
 26         printk ("%lx\t%lx\t%s\n", p->vm_start,\
 27                 p->vm_end, p->vm_file->f_path.dentry->d_iname);
 28         p = p->vm_next;
 29     }while (p != NULL);
 30
 31     printk ("vm_file address is:%d\tf_path address is:%d\
 32             \tname is:%s",& p->vm_file->f_path,\
 33             p->vm_file->f_path.dentry->d_iname);
 34
 35     printk ("info from the kernel space:%s\n", thread->comm);
 36     return 0;
 37 }
 38
 39 static void __exit printvma_exit (void)
 40 {
 41     printk ("the module will leave the kernel space..\n");
 42 }
 43
 44 module_init (printvma_init);
 45 module_exit (printvma_exit);
 46 MODULE_LICENSE ("GPL");      


what's wrong?

thanks
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux