static inline int ltt_enumerate_vm_maps(void) { struct task_struct * t = &init_task; do { read_lock(&tasklist_lock); if(t != &init_task) atomic_dec(&t->usage); t = next_task(t); atomic_inc(&t->usage); read_unlock(&tasklist_lock); ltt_enumerate_task_vm_maps(t); } while( t != &init_task ); return 0; }
static inline int ltt_enumerate_vm_maps(struct ltt_probe_private_data *call_data) { struct task_struct *t = &init_task; do { read_lock(&tasklist_lock); if (t != &init_task) atomic_dec(&t->usage); t = next_task(t); atomic_inc(&t->usage); read_unlock(&tasklist_lock); ltt_enumerate_task_vm_maps(call_data, t); } while (t != &init_task); return 0; }