[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240829112455.232263-2-lihongbo22@huawei.com>
Date: Thu, 29 Aug 2024 19:24:54 +0800
From: Hongbo Li <lihongbo22@...wei.com>
To: <kees@...nel.org>, <andy@...nel.org>, <Julia.Lawall@...ia.fr>,
<nicolas.palix@...g.fr>
CC: <linux-hardening@...r.kernel.org>, <cocci@...ia.fr>,
<lihongbo22@...wei.com>
Subject: [PATCH -next 1/2] coccinelle: Add rules to find str_true_false() replacements
After str_true_false() has been introduced in the tree,
we can add rules for finding places where str_true_false()
can be used. A simple test can find over 10 locations.
Signed-off-by: Hongbo Li <lihongbo22@...wei.com>
---
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:910:40-44: opportunity for str_true_false(drop)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:543:20-56: opportunity for str_true_false(conf -> flags & IEEE80211_CONF_MONITOR)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:547:15-46: opportunity for str_true_false(conf -> flags & IEEE80211_CONF_PS)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:718:15-35: opportunity for str_true_false(vif -> cfg . ibss_joined)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:699:5-24: opportunity for str_true_false(info -> enable_beacon)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c:733:15-24: opportunity for str_true_false(info -> qos)
drivers/net/wireless/ath/ath9k/link.c:393:24-43: opportunity for str_true_false(common -> ani . caldone)
drivers/net/arcnet/com20020-pci.c:104:29-42: opportunity for str_true_false(lp -> backplane)
drivers/net/ethernet/intel/ice/ice_switch.c:2100:19-37: opportunity for str_true_false(params -> mask_valid)
drivers/net/wireless/ath/wil6210/interrupt.c:102:6-15: opportunity for str_true_false(mask_halp)
drivers/net/wireless/ath/wil6210/interrupt.c:154:6-17: opportunity for str_true_false(unmask_halp)
drivers/net/ethernet/intel/ice/ice_vlan_mode.c:257:6-24: opportunity for str_true_false(params -> mask_valid)
---
scripts/coccinelle/api/string_choices.cocci | 23 +++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/scripts/coccinelle/api/string_choices.cocci b/scripts/coccinelle/api/string_choices.cocci
index 5e729f187f22..50329c4c8acd 100644
--- a/scripts/coccinelle/api/string_choices.cocci
+++ b/scripts/coccinelle/api/string_choices.cocci
@@ -85,3 +85,26 @@ e << str_down_up_r.E;
@@
coccilib.report.print_report(p[0], "opportunity for str_down_up(%s)" % e)
+
+@..._true_false depends on patch@
+expression E;
+@@
+(
+- ((E) ? "true" : "false")
++ str_true_false(E)
+)
+
+@..._true_false_r depends on !patch exists@
+expression E;
+position P;
+@@
+(
+* ((E@P) ? "true" : "false")
+)
+
+@...ipt:python depends on report@
+p << str_true_false_r.P;
+e << str_true_false_r.E;
+@@
+
+coccilib.report.print_report(p[0], "opportunity for str_true_false(%s)" % e)
--
2.34.1
Powered by blists - more mailing lists