diff options
author | Rishabh Bhatnagar <[email protected]> | 2021-08-04 14:19:59 -0700 |
---|---|---|
committer | Sudeep Holla <[email protected]> | 2021-08-05 11:57:03 +0100 |
commit | 1e7cbfaa66d39e78bd24df0c78b55df68176b59e (patch) | |
tree | 760d00920288bfcdd66c202db8e8502f9bcadd09 /net/lapb/lapb_timer.c | |
parent | 46abe13b5e3db187e52cd0de06c07bbce010726c (diff) |
firmware: arm_scmi: Free mailbox channels if probe fails
Mailbox channels for the base protocol are setup during probe.
There can be a scenario where probe fails to acquire the base
protocol due to a timeout leading to cleaning up of all device
managed memory including the scmi_mailbox structure setup during
mailbox_chan_setup function.
| arm-scmi soc:qcom,scmi: timed out in resp(caller: version_get+0x84/0x140)
| arm-scmi soc:qcom,scmi: unable to communicate with SCMI
| arm-scmi: probe of soc:qcom,scmi failed with error -110
Now when a message arrives at cpu slightly after the timeout, the mailbox
controller will try to call the rx_callback of the client and might end
up accessing freed memory.
| rx_callback+0x24/0x160
| mbox_chan_received_data+0x44/0x94
| __handle_irq_event_percpu+0xd4/0x240
This patch frees the mailbox channels setup during probe and adds some more
error handling in case the probe fails.
Link: https://lore.kernel.org/r/[email protected]
Tested-by: Cristian Marussi <[email protected]>
Reviewed-by: Cristian Marussi <[email protected]>
Signed-off-by: Rishabh Bhatnagar <[email protected]>
Signed-off-by: Sudeep Holla <[email protected]>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions