Can mm_struct of a process be null?
Hi,
I happen to find this code snippet in the kernel source :
**/*struct mm_struct *mm=current->mm**;**
**
/* some other code */
** if(mm){ /*<==Why is **this here? */**
** /*read the contents by locking*/**
** }
*/The/if /checks whether the mm_struct of the current process is NULL or
not. That means the mm_struct of a process can become NULL. How can that
happen?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20131115/90060719/attachment.html
Quoted 11 lines · Paul Davies C
Hi,
I happen to find this code snippet in the kernel source : struct mm_struct *mm=current->mm; /* some other code */ if(mm){ /*<==Why is this here? */ /*read the contents by locking*/ }
Quoted 2 lines
The if checks whether the
mm_structof the current process is NULL or not. That means themm_structof a process can become NULL. How can that happen?
mm_struct points to a process address space. It is NULL for kernel threads.
Daniel.
Yes, current->mm points to user space context for the current process. Now for a kernel threads there is no user space context and for them current->mm would be NULL.
Thanks,
Chetan Nanda
Quoted 17 lines · Paul Davies C
Hi,
I happen to find this code snippet in the kernel source :*struct
mm_struct*mm=current->mm; /* some other code */ if(mm){
/*<==Why is this here? */ /*read the contents by locking*/ } *
The* if *checks whether themm_structof the current process is NULL or not. That means themm_structof a process can become NULL. How can that happen?
Quoted 6 lines
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20131118/18eb181f/attachment.html