remoteproc: sysmon: Correct subsys_name_len type in QMI request
[ Upstream commit da994db94e60f9a9411108ddf4d1836147ad4c9c ]
The QMI message encoder has up until recently read a single byte (as
elem_size == 1), but with the introduction of big endian support it's
become apparent that this field is expected to be a full u32 -
regardless of the size of the length in the encoded message (which is
what elem_size specifies).
The result is that the encoder now reads past the length byte and
rejects the unreasonably large length formed when including the
following 3 bytes from the subsys_name array.
Fix this by changing to the expected type.
Fixes: 1fb82ee806 ("remoteproc: qcom: Introduce sysmon")
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Reviewed-by: Chris Lew <christopher.lew@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260220-qmi-encode-invalid-length-v2-1-5674be35ab29@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Ulrich Hecht <uli@kernel.org>
This commit is contained in:
1 parent
c16f870458
commit
0015a75efd
1 file changed
+1
-1
@@ -173,7 +173,7 @@ static struct qmi_elem_info ssctl_shutdown_resp_ei[] = {
|
||||
};
|
||||
|
||||
struct ssctl_subsys_event_req {
|
||||
u8 subsys_name_len;
|
||||
u32 subsys_name_len;
|
||||
char subsys_name[SSCTL_SUBSYS_NAME_LENGTH];
|
||||
u32 event;
|
||||
u8 evt_driven_valid;
|
||||
|
||||
Reference in new issue
Block a user