diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-08-08 09:42:04 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-08-08 09:42:04 -0700 |
| commit | cab9de71694de738323e30c2d1a1eb51a03f6265 (patch) | |
| tree | 9b5839486dc623f46984e8d538eae5cb04816ee5 /scripts/coccinelle/free | |
| parent | 4e23eeebb2e57f5a28b36221aa776b5a1122dde5 (diff) | |
| parent | f01701cec8cbb94df209e9705b97abd01c151ba1 (diff) | |
| download | linux-next-cab9de71694de738323e30c2d1a1eb51a03f6265.tar.gz linux-next-cab9de71694de738323e30c2d1a1eb51a03f6265.zip | |
Merge tag 'coccinelle-for-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux
Pull coccinelle semantic patch updates from Julia Lawall:
- Update the semantic patches in the kernel that contain a URL for
Coccinelle with a URL that is currently valid (from myself).
- Add a semantic patch checking for unnecessary NULL tests on dev_{put,
hold} functions (from Ziyang Xuan, followed bt a modification from
myself).
- Drop a semantic patch that replaces 0/1 by booleans, as this change
was considered to be not worthwhile by some maintainers (from Steve
Rostedt).
- Extend an existing semantic patch with more checks for useless tests
on variables addresses (from Jérémy Lefaure).
* tag 'coccinelle-for-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
update Coccinelle URL
coccinelle: free: add version constraint
scripts/coccinelle/free: add NULL test before dev_{put, hold} functions
coccinelle: Remove script that checks replacing 0/1 with false/true in functions returning bool
coccinelle: Extend address test from ifaddr semantic patch to test expressions
Diffstat (limited to 'scripts/coccinelle/free')
| -rw-r--r-- | scripts/coccinelle/free/clk_put.cocci | 2 | ||||
| -rw-r--r-- | scripts/coccinelle/free/devm_free.cocci | 2 | ||||
| -rw-r--r-- | scripts/coccinelle/free/ifnulldev_put.cocci | 55 | ||||
| -rw-r--r-- | scripts/coccinelle/free/iounmap.cocci | 2 | ||||
| -rw-r--r-- | scripts/coccinelle/free/kfree.cocci | 2 | ||||
| -rw-r--r-- | scripts/coccinelle/free/kfreeaddr.cocci | 2 | ||||
| -rw-r--r-- | scripts/coccinelle/free/pci_free_consistent.cocci | 2 |
7 files changed, 61 insertions, 6 deletions
diff --git a/scripts/coccinelle/free/clk_put.cocci b/scripts/coccinelle/free/clk_put.cocci index 7237b49496f6..3c732cb7210b 100644 --- a/scripts/coccinelle/free/clk_put.cocci +++ b/scripts/coccinelle/free/clk_put.cocci @@ -8,7 +8,7 @@ // Confidence: Moderate // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. -// URL: http://coccinelle.lip6.fr/ +// URL: https://coccinelle.gitlabpages.inria.fr/website // Comments: // Options: diff --git a/scripts/coccinelle/free/devm_free.cocci b/scripts/coccinelle/free/devm_free.cocci index da80050b91ff..0880729badbc 100644 --- a/scripts/coccinelle/free/devm_free.cocci +++ b/scripts/coccinelle/free/devm_free.cocci @@ -17,7 +17,7 @@ // Confidence: Moderate // Copyright: (C) 2011 Julia Lawall, INRIA/LIP6. // Copyright: (C) 2011 Gilles Muller, INRIA/LiP6. -// URL: http://coccinelle.lip6.fr/ +// URL: https://coccinelle.gitlabpages.inria.fr/website // Comments: // Options: --no-includes --include-headers diff --git a/scripts/coccinelle/free/ifnulldev_put.cocci b/scripts/coccinelle/free/ifnulldev_put.cocci new file mode 100644 index 000000000000..2bd2e8fae485 --- /dev/null +++ b/scripts/coccinelle/free/ifnulldev_put.cocci @@ -0,0 +1,55 @@ +// SPDX-License-Identifier: GPL-2.0-only +/// Since commit b37a46683739 ("netdevice: add the case if dev is NULL"), +/// NULL check before dev_{put, hold} functions is not needed. +/// +/// Based on ifnullfree.cocci by Fabian Frederick. +/// +// Copyright: (C) 2022 Ziyang Xuan. +// Comments: - +// Options: --no-includes --include-headers +// Version min: 5.15 + +virtual patch +virtual org +virtual report +virtual context + +@r2 depends on patch@ +expression E; +@@ +- if (E != NULL) +( + __dev_put(E); +| + dev_put(E); +| + dev_put_track(E, ...); +| + __dev_hold(E); +| + dev_hold(E); +| + dev_hold_track(E, ...); +) + +@r depends on context || report || org @ +expression E; +position p; +@@ + +* if (E != NULL) +* \(__dev_put@p\|dev_put@p\|dev_put_track@p\|__dev_hold@p\|dev_hold@p\| +* dev_hold_track@p\)(E, ...); + +@script:python depends on org@ +p << r.p; +@@ + +cocci.print_main("NULL check before dev_{put, hold} functions is not needed", p) + +@script:python depends on report@ +p << r.p; +@@ + +msg = "WARNING: NULL check before dev_{put, hold} functions is not needed." +coccilib.report.print_report(p[0], msg) diff --git a/scripts/coccinelle/free/iounmap.cocci b/scripts/coccinelle/free/iounmap.cocci index 63b81d0c97b6..90d85fa7bfdf 100644 --- a/scripts/coccinelle/free/iounmap.cocci +++ b/scripts/coccinelle/free/iounmap.cocci @@ -8,7 +8,7 @@ // Confidence: Moderate // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. -// URL: http://coccinelle.lip6.fr/ +// URL: https://coccinelle.gitlabpages.inria.fr/website // Comments: // Options: diff --git a/scripts/coccinelle/free/kfree.cocci b/scripts/coccinelle/free/kfree.cocci index 9b6e2037c2a9..6338bbac2f7f 100644 --- a/scripts/coccinelle/free/kfree.cocci +++ b/scripts/coccinelle/free/kfree.cocci @@ -9,7 +9,7 @@ // Copyright: (C) 2010-2012 Nicolas Palix. // Copyright: (C) 2010-2012 Julia Lawall, INRIA/LIP6. // Copyright: (C) 2010-2012 Gilles Muller, INRIA/LiP6. -// URL: http://coccinelle.lip6.fr/ +// URL: https://coccinelle.gitlabpages.inria.fr/website // Comments: // Options: --no-includes --include-headers diff --git a/scripts/coccinelle/free/kfreeaddr.cocci b/scripts/coccinelle/free/kfreeaddr.cocci index 142af6337a04..85635a36f0ac 100644 --- a/scripts/coccinelle/free/kfreeaddr.cocci +++ b/scripts/coccinelle/free/kfreeaddr.cocci @@ -3,7 +3,7 @@ /// // Confidence: High // Copyright: (C) 2013 Julia Lawall, INRIA/LIP6. -// URL: http://coccinelle.lip6.fr/ +// URL: https://coccinelle.gitlabpages.inria.fr/website // Comments: // Options: --no-includes --include-headers diff --git a/scripts/coccinelle/free/pci_free_consistent.cocci b/scripts/coccinelle/free/pci_free_consistent.cocci index d51e92556b42..e062b9ba09ff 100644 --- a/scripts/coccinelle/free/pci_free_consistent.cocci +++ b/scripts/coccinelle/free/pci_free_consistent.cocci @@ -3,7 +3,7 @@ /// // Confidence: Moderate // Copyright: (C) 2013 Petr Strnad. -// URL: http://coccinelle.lip6.fr/ +// URL: https://coccinelle.gitlabpages.inria.fr/website // Keywords: pci_free_consistent, pci_alloc_consistent // Options: --no-includes --include-headers |
