[PATCH] check_unwind: Add request/release_firmware to the function table

Harshit Mogalapalli <[email protected]> Tue, 31 Oct 2023 05:06:47 -0700
Newsgroups org.kernel.vger.smatch
Message-ID <[email protected]>
Add request and release firmware to catch bugs where there is an
imbalance between release and request firmware.

request_firmware(const struct firmware **firmware_p, const char *name,
		 struct device *device)

release frees(firmware) so we should pass '0' to the table entry in the
ALLOC.

Signed-off-by: Harshit Mogalapalli <[email protected]>
---
 check_unwind.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/check_unwind.c b/check_unwind.c
index 59678a94..0dc8f752 100644
--- a/check_unwind.c
+++ b/check_unwind.c
@@ -95,6 +95,9 @@ static struct ref_func_info func_table[] = {
 
 	{ "ieee80211_alloc_hw", ALLOC,  -1, "$", &valid_ptr_min_sval, &valid_ptr_max_sval },
 	{ "ieee80211_free_hw",  RELEASE, 0, "$" },
+
+	{ "request_firmware", ALLOC,	0, "$", &valid_ptr_min_sval, &valid_ptr_max_sval },
+	{ "release_firmware",  RELEASE, 0, "$" },
 };
 
 static struct smatch_state *unmatched_state(struct sm_state *sm)
-- 
2.39.3