summaryrefslogtreecommitdiff
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorAnup Vishwakarma <anup.vishwakarma@oss.qualcomm.com>2026-09-16 15:26:53 +0530
committerJassi Brar <jassisinghbrar@gmail.com>2026-10-11 20:09:47 -0500
commit7b3cc361b5942ac600f38e5dff7aed009be34964 (patch)
tree68cbdbda65437c89af9e3a2a06dc39ea1f99090a /include/uapi/linux
parent18e3e979826795b62e8916743bec4de660e7cb22 (diff)
downloadlinux-next-7b3cc361b5942ac600f38e5dff7aed009be34964.tar.gz
linux-next-7b3cc361b5942ac600f38e5dff7aed009be34964.zip
mailbox: qcom-ipcc: Guard against NULL con_priv in send_data()
qcom_ipcc_mbox_shutdown() clears chan->con_priv with no locking. qcom_ipcc_mbox_send_data() dereferences the same field without checking for NULL first, so a send racing a concurrent shutdown can crash: mchan = chan->con_priv; ... hwirq = qcom_ipcc_get_hwirq(mchan->client_id, mchan->signal_id); Add the same NULL guard mbox_send_message() already uses for chan->cl, and bail out before dereferencing a cleared con_priv. To close the remaining race where send_data() reads con_priv a moment before a concurrent shutdown clears it, acquire the spinlock in qcom_ipcc_mbox_shutdown() using the modern guard(spinlock_irqsave) primitive before setting con_priv to NULL. Fixes: d6fbfdbc1274 ("mailbox: qcom-ipcc: Fix IPCC mbox channel exhaustion") Cc: stable@vger.kernel.org Signed-off-by: Anup Vishwakarma <anup.vishwakarma@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Diffstat (limited to 'include/uapi/linux')
0 files changed, 0 insertions, 0 deletions