[PATCH] qmi: avoid free of non heap object
Sean Nyekjaer <[email protected]> Thu, 26 Jun 2025 10:16:24 +0200
| Newsgroups | dev.linux.lists.ofono |
|---|---|
| Message-ID | <[email protected]> |
qmux_create_client_timeout() free's a non heap object, avoid calling
__request_free() and inline free_request() instead.
In function 'l_free',
inlined from '__request_free' at drivers/qmimodem/qmi.c:293:3,
inlined from 'qmux_create_client_timeout' at drivers/qmimodem/qmi.c:1427:2:
ell/util.c:124:9: warning: 'free' called on pointer 'user_data_6(D)' with nonzero offset 28 [-Wfree-nonheap-object]
124 | free(ptr);
| ^
---
drivers/qmimodem/qmi.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c
index 5d2553c5..4468761a 100644
--- a/drivers/qmimodem/qmi.c
+++ b/drivers/qmimodem/qmi.c
@@ -1424,7 +1424,9 @@ static void qmux_create_client_timeout(struct l_timeout *timeout,
/* remove request from queues */
find_control_request(qmux, req->super.tid);
- __request_free(&req->super);
+
+ if (req->super.free_request)
+ req->super.free_request(&req->super);
}
static void qmux_create_client_callback(struct qmi_request *r,
--
2.49.0