]> git.ipfire.org Git - thirdparty/kernel/linux.git/blame - scripts/coccinelle/api/vma_pages.cocci
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[thirdparty/kernel/linux.git] / scripts / coccinelle / api / vma_pages.cocci
CommitLineData
b2441318 1// SPDX-License-Identifier: GPL-2.0
4c8f20bb
DK
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)