Re: [PATCH] check_unwind: Add request/release_firmware to the function table
Harshit Mogalapalli <[email protected]> Tue, 31 Oct 2023 20:52:55 +0530
| Newsgroups | org.kernel.vger.smatch |
|---|---|
| Message-ID | <[email protected]> |
Hi Dan, On 31/10/23 8:21 pm, Dan Carpenter wrote: > On Tue, Oct 31, 2023 at 05:06:47AM -0700, Harshit Mogalapalli wrote: >> 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 }, > > Doesn't request_firmware() return zero on success? &int_zero? > Right, I missed that sorry. I will fix it in V2. This also answers why my test complained like this incorrectly, but I thought that was due to db: drivers/usb/typec/tipd/core.c:1009 tps25750_start_patch_burst_mode() warn: '&fw' from request_firmware() not released on lines: 960. drivers/usb/typec/tipd/core.c:1009 tps25750_start_patch_burst_mode() warn: '&fw' from request_firmware() not released on lines: 971,976,980,1009. But when I changed it to &int_zero, it works well and shows this warning alone: drivers/usb/typec/tipd/core.c:1009 tps25750_start_patch_burst_mode() warn: '&fw' from request_firmware() not released on lines: 971,976,980,1009. Thanks i will send a V2. Regards, Harshit > regards, > dan carpenter >