diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index 2eb61f3c896b86c769d2b373edf976334fcc1abf..73693b6d4324c4b726188759706b5278c9c4c24e 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -36,8 +36,8 @@ int task_statm(struct mm_struct *mm, int *shared, int *text, int *data, int *resident) { *shared = mm->shared_vm; - *text = mm->exec_vm - ((mm->end_code - mm->start_code) >> PAGE_SHIFT); - *data = mm->total_vm - mm->shared_vm; + *text = (mm->end_code - mm->start_code) >> PAGE_SHIFT; + *data = mm->total_vm - mm->shared_vm - *text; *resident = mm->rss; return mm->total_vm; }