0L refers to the number 0 as a Long integer. Basically, what is happening is, the kernel is acting as if the module struct is located at address 0. Obviously, this structure isn't there, but the effect is that the address returned is the size of the data contained in the structure before the persist_start member. John On Thu, 18 Apr 2002, Neeraj wrote: > Hello friends, > > I have just started reading the kernel code and hence a kernel newbie. Right now > I am reading the code of Linux kernel version 2.4.3. The file module.c conatins > a function sys_init_module. I am not able to the understand the following LOC. > > <snip> > > if (mod_user_size < (unsigned long)&((struct module *)0L)->persist_start > > </snip> > > What does 0L refers to ? Can somebody please explain it to me. > > Thanks > neeraj > > > > -- > Kernelnewbies: Help each other learn about the Linux kernel. > Archive: http://mail.nl.linux.org/kernelnewbies/ > FAQ: http://kernelnewbies.org/faq/ > -- John Tyner jtyner@cs.ucr.edu -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/