linux/drivers/firmware
Sudeep Holla 8f8e5475a3 firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow
[ Upstream commit 7a691f16cc ]

The scmi_linux_errmap buffer access index is supposed to depend on the
array size to prevent element out of bounds access. It uses SCMI_ERR_MAX
to check bounds but that can mismatch with the array size. It also
changes the success into -EIO though scmi_linux_errmap is never used in
case of success, it is expected to work for success case too.

It is slightly confusing code as the negative of the error code
is used as index to the buffer. Fix it by negating it at the start and
make it more readable.

Link: https://lore.kernel.org/r/20210707135028.1869642-1-sudeep.holla@arm.com
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-31 08:16:12 +02:00
..
arm_scmi firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow 2021-07-31 08:16:12 +02:00
broadcom firmware: bcm47xx_sprom: Fix -Wmissing-prototypes warnings 2020-08-17 13:47:28 +02:00
efi firmware/efi: Tell memblock about EFI iomem reservations 2021-07-28 14:35:44 +02:00
google efi: gsmi: fix false dependency on CONFIG_EFI_VARS 2020-09-29 19:40:57 +02:00
imx firmware: imx: select SOC_BUS to fix firmware build 2021-02-03 23:28:46 +01:00
meson
psci firmware: psci: Extend psci_set_osi_mode() to allow reset to PC mode 2020-09-22 17:50:32 +02:00
smccc firmware: smccc: Export both smccc functions 2020-09-14 07:30:36 +01:00
tegra firmware: tegra: bpmp: Fix Tegra234-only builds 2021-07-25 14:36:15 +02:00
xilinx firmware: xilinx: Fix dereferencing freed memory 2021-05-14 09:50:05 +02:00
arm_scpi.c firmware: arm_scpi: Prevent the ternary sign expansion bug 2021-05-26 12:06:47 +02:00
arm_sdei.c firmware: arm_sdei: Remove _sdei_event_unregister() 2020-09-28 21:52:23 +01:00
dmi_scan.c Replace HTTP links with HTTPS ones: DMI/SMBIOS SUPPORT 2020-07-16 11:46:24 +02:00
dmi-id.c firmware/dmi: Report DMI Bios & EC firmware release 2020-06-06 11:35:50 +02:00
dmi-sysfs.c firmware: dmi-sysfs: Replace zero-length array with flexible-array member 2020-06-15 23:08:04 -05:00
edd.c
iscsi_ibft_find.c
iscsi_ibft.c ibft: Replace zero-length array with flexible-array 2020-06-15 23:08:31 -05:00
Kconfig firmware: arm_scmi: Add SMCCC discovery dependency in Kconfig 2021-07-25 14:36:14 +02:00
Makefile firmware: arm_scmi: Enable building as a single module 2020-09-14 07:31:03 +01:00
memmap.c
pcdp.c
pcdp.h firmware: pcdp: Replace zero-length array with flexible-array 2020-06-15 23:08:32 -05:00
qcom_scm-legacy.c
qcom_scm-smc.c firmware: qcom_scm: Reduce locking section for __get_convention() 2021-05-14 09:50:14 +02:00
qcom_scm.c firmware: qcom_scm: Workaround lack of "is available" call on SC7180 2021-05-14 09:50:14 +02:00
qcom_scm.h firmware: qcom_scm: Reduce locking section for __get_convention() 2021-05-14 09:50:14 +02:00
qemu_fw_cfg.c qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute 2021-07-19 09:44:59 +02:00
raspberrypi.c Revert "firmware: raspberrypi: Introduce vl805 init routine" 2020-08-18 13:01:11 +02:00
scpi_pm_domain.c
stratix10-rsu.c firmware: stratix10-rsu: fix warnings 2020-07-02 14:48:48 +02:00
stratix10-svc.c firmware: stratix10-svc: Fix a resource leak in an error handling path 2021-07-14 16:56:39 +02:00
ti_sci.c ARM: SoC-related driver updates 2020-10-24 10:39:22 -07:00
ti_sci.h firmware: ti_sci: Replace HTTP links with HTTPS ones 2020-07-24 14:44:52 -07:00
trusted_foundations.c
turris-mox-rwtm.c firmware: turris-mox-rwtm: add marvell,armada-3700-rwtm-firmware compatible string 2021-07-25 14:36:17 +02:00