for (p = &LAST_TASK ; p > &FIRST_TASK ; --p) { struct vm_area_struct * mpnt; if (!*p) continue; for(mpnt = (*p)->mm->mmap; mpnt; mpnt = mpnt->vm_next)
But (*p)->mm may be NULL (verified via a printk).