linux/drivers/mailbox
Yang Yingliang 4f05d8e2fb mailbox: zynq-ipi: fix error handling while device_register() fails
[ Upstream commit a6792a0cde ]

If device_register() fails, it has two issues:
1. The name allocated by dev_set_name() is leaked.
2. The parent of device is not NULL, device_unregister() is called
   in zynqmp_ipi_free_mboxes(), it will lead a kernel crash because
   of removing not added device.

Call put_device() to give up the reference, so the name is freed in
kobject_cleanup(). Add device registered check in zynqmp_ipi_free_mboxes()
to avoid null-ptr-deref.

Fixes: 4981b82ba2 ("mailbox: ZynqMP IPI mailbox controller")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2022-12-31 13:14:39 +01:00
..
arm_mhu.c mailbox: arm_mhu: Remove redundant error printing in mhu_probe() 2021-06-26 11:37:48 -05:00
arm_mhu_db.c mailbox: arm_mhu_db: Remove redundant dev_err call in mhu_db_probe() 2021-04-13 20:07:36 -05:00
arm_mhuv2.c mailbox: arm_mhuv2: Fix return value check in mhuv2_probe() 2022-12-31 13:14:39 +01:00
armada-37xx-rwtm-mailbox.c treewide: change my e-mail address, fix my name 2021-04-09 14:54:23 -07:00
bcm-flexrm-mailbox.c mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg 2022-10-26 12:35:21 +02:00
bcm-pdc-mailbox.c mailbox: bcm-pdc: Remove redundant error printing in pdc_probe() 2021-06-26 11:37:50 -05:00
bcm2835-mailbox.c mailbox: bcm2835: Remove redundant dev_err call in bcm2835_mbox_probe() 2021-06-26 11:40:32 -05:00
hi3660-mailbox.c mailbox: hisilicon: Use the correct HiSilicon copyright 2021-06-26 11:38:02 -05:00
hi6220-mailbox.c mailbox: hisilicon: Use the correct HiSilicon copyright 2021-06-26 11:38:02 -05:00
imx-mailbox.c mailbox: imx: fix wakeup failure from freeze mode 2022-04-08 14:24:10 +02:00
Kconfig mailbox: qcom-ipcc: Enable loading QCOM_IPCC as a module 2021-08-29 23:50:15 -05:00
mailbox-altera.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
mailbox-mpfs.c mailbox: mpfs: read the system controller's status 2022-12-31 13:14:39 +01:00
mailbox-sti.c mailbox: sti: quieten kernel-doc warnings 2021-08-29 23:50:12 -05:00
mailbox-test.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mailbox-xgene-slimpro.c mailbox: fix various typos in comments 2021-04-13 20:07:35 -05:00
mailbox.c mailbox: forward the hrtimer if not queued and under a lock 2022-06-09 10:23:12 +02:00
mailbox.h mailbox: fix various typos in comments 2021-04-13 20:07:35 -05:00
Makefile mbox: add polarfire soc system controller mailbox 2021-06-26 12:06:48 -05:00
mtk-cmdq-mailbox.c mailbox: fix gce_num of mt8192 driver data 2022-01-27 11:04:21 +01:00
omap-mailbox.c mailbox: omap: Add support for K3 AM64x SoCs 2021-02-14 23:23:41 -06:00
pcc.c mailbox: fix various typos in comments 2021-04-13 20:07:35 -05:00
pl320-ipc.c mailbox: fix various typos in comments 2021-04-13 20:07:35 -05:00
platform_mhu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
qcom-apcs-ipc-mailbox.c mailbox: qcom-apcs-ipc: Add compatible for MSM8953 SoC 2021-08-30 00:29:29 -05:00
qcom-ipcc.c mailbox: qcom-ipcc: Enable loading QCOM_IPCC as a module 2021-08-29 23:50:15 -05:00
rockchip-mailbox.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
sprd-mailbox.c mailbox: sprd: Add supplementary inbox support 2021-04-13 20:07:36 -05:00
stm32-ipcc.c mailbox: stm32-ipcc: cast void pointers to unsigned long 2020-12-01 19:17:20 -06:00
sun6i-msgbox.c mailbox: sun6i-msgbox: Add a new mailbox driver 2020-03-19 23:00:32 -05:00
tegra-hsp.c mailbox: tegra-hsp: Flush whole channel 2022-04-08 14:22:59 +02:00
ti-msgmgr.c mailbox: fix various typos in comments 2021-04-13 20:07:35 -05:00
zynqmp-ipi-mailbox.c mailbox: zynq-ipi: fix error handling while device_register() fails 2022-12-31 13:14:39 +01:00