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 9 virtual context 10 virtual patch 11 virtual org 12 virtual report 13 14 //---------------------------------------------------------- 15 // For context mode 16 //---------------------------------------------------------- 17 18 @r_context depends on context && !patch && !org && !report@ 19 struct 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@ 29 struct 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)@ 40 struct vm_area_struct *vma; 41 position p; 42 @@ 43 44 (vma->vm_end@p - vma->vm_start) >> PAGE_SHIFT 45 46 @script:python depends on report@ 47 p << r_org.p; 48 x << r_org.vma; 49 @@ 50 51 msg="WARNING: Consider using vma_pages helper on %s" % (x) 52 coccilib.report.print_report(p[0], msg) 53 54 @script:python depends on org@ 55 p << r_org.p; 56 x << r_org.vma; 57 @@ 58 59 msg="WARNING: Consider using vma_pages helper on %s" % (x) 60 msg_safe=msg.replace("[","@(").replace("]",")") 61 coccilib.org.print_todo(p[0], msg_safe)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.