1// SPDX-License-Identifier: GPL-2.0 2/// 3/// Use vma_pages function on vma object instead of explicit computation. 4/// 5// Confidence: High 6// Keywords: vma_pages vma 7// Comment: Based on resource_size.cocci 8 9virtual context 10virtual patch 11virtual org 12virtual report 13 14//---------------------------------------------------------- 15// For context mode 16//---------------------------------------------------------- 17 18@r_context depends on context && !patch && !org && !report@ 19struct vm_area_struct *vma; 20@@ 21 22* (vma->vm_end - vma->vm_start) >> PAGE_SHIFT 23 24//---------------------------------------------------------- 25// For patch mode 26//---------------------------------------------------------- 27 28@r_patch depends on !context && patch && !org && !report@ 29struct vm_area_struct *vma; 30@@ 31 32- ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) 33+ vma_pages(vma) 34 35//---------------------------------------------------------- 36// For org mode 37//---------------------------------------------------------- 38 39@r_org depends on !context && !patch && (org || report)@ 40struct vm_area_struct *vma; 41position p; 42@@ 43 44 (vma->vm_end@p - vma->vm_start) >> PAGE_SHIFT 45 46@script:python depends on report@ 47p << r_org.p; 48x << r_org.vma; 49@@ 50 51msg="WARNING: Consider using vma_pages helper on %s" % (x) 52coccilib.report.print_report(p[0], msg) 53 54@script:python depends on org@ 55p << r_org.p; 56x << r_org.vma; 57@@ 58 59msg="WARNING: Consider using vma_pages helper on %s" % (x) 60msg_safe=msg.replace("[","@(").replace("]",")") 61coccilib.org.print_todo(p[0], msg_safe) 62