| // 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) |