When insmod load kernel module it internally uses 2 system calls sys_create_module sys_init_module First system call allocates a module in kernel memory which is greater than )xc0000000. 2nd system call initializes the module in kernel memory and then call the init function residing in struct module Since the module is loaded in kernel space, it is allowed to access the hardware. For more details see the code of these system calls . Anurag --- jhoney jhoney <jhoney_joney@xxxxxxxxxxxxxx> wrote: > Hello All, > > When application runs ,it can not access the kernel memory but when the > module for the corresponding application runs in kernel mode , it has access > to kernel memory. > > My question is what made to access the kernel memory module which could not > be done by an application. > > Regards > > Jhoney > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/