linux/drivers/soc
Anson Huang 1bcbe73008 soc: imx8: Fix potential kernel dump in error path
When SoC's revision value is 0, SoC driver will print out
"unknown" in sysfs's revision node, this "unknown" is a
static string which can NOT be freed, this will caused below
kernel dump in later error path which calls kfree:

kernel BUG at mm/slub.c:3942!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
Modules linked in:
CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.2.0-rc4-next-20190611-00023-g705146c-dirty #2197
Hardware name: NXP i.MX8MQ EVK (DT)
pstate: 60000005 (nZCv daif -PAN -UAO)
pc : kfree+0x170/0x1b0
lr : imx8_soc_init+0xc0/0xe4
sp : ffff00001003bd10
x29: ffff00001003bd10 x28: ffff00001121e0a0
x27: ffff000011482000 x26: ffff00001117068c
x25: ffff00001121e100 x24: ffff000011482000
x23: ffff000010fe2b58 x22: ffff0000111b9ab0
x21: ffff8000bd9dfba0 x20: ffff0000111b9b70
x19: ffff7e000043f880 x18: 0000000000001000
x17: ffff000010d05fa0 x16: ffff0000122e0000
x15: 0140000000000000 x14: 0000000030360000
x13: ffff8000b94b5bb0 x12: 0000000000000038
x11: ffffffffffffffff x10: ffffffffffffffff
x9 : 0000000000000003 x8 : ffff8000b9488147
x7 : ffff00001003bc00 x6 : 0000000000000000
x5 : 0000000000000003 x4 : 0000000000000003
x3 : 0000000000000003 x2 : b8793acd604edf00
x1 : ffff7e000043f880 x0 : ffff7e000043f888
Call trace:
 kfree+0x170/0x1b0
 imx8_soc_init+0xc0/0xe4
 do_one_initcall+0x58/0x1b8
 kernel_init_freeable+0x1cc/0x288
 kernel_init+0x10/0x100
 ret_from_fork+0x10/0x18

This patch fixes this potential kernel dump when a chip's
revision is "unknown", it is done by checking whether the
revision space can be freed.

Fixes: a7e26f356c ("soc: imx: Add generic i.MX8 SoC driver")
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2019-06-18 16:59:34 +08:00
..
actions soc: actions: sps: Add S900 power domains 2018-09-30 16:48:10 +02:00
amlogic soc: amlogic: meson-gx-pwrc-vpu: Add support for G12A 2019-04-16 11:09:53 -07:00
aspeed ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
atmel ARM: at91: add support in soc driver for new SAM9X60 2018-12-12 11:55:20 +01:00
bcm This pull request brings in a build fix for arm64 with bcm2835 2019-03-18 10:31:24 -07:00
dove soc: Convert to using %pOFn instead of device_node.name 2018-10-04 14:16:01 -05:00
fsl soc/fsl/qe: Fix an error code in qe_pin_request() 2019-04-02 18:02:48 -05:00
gemini soc: Add SoC driver for Gemini 2018-01-04 17:01:53 +01:00
imx soc: imx8: Fix potential kernel dump in error path 2019-06-18 16:59:34 +08:00
ixp4xx soc: ixp4xx: qmgr: Fix an NULL vs IS_ERR() check in probe 2019-05-16 10:53:11 -07:00
lantiq MIPS: lantiq: Remove separate GPHY Firmware loader 2019-02-25 14:17:10 -08:00
mediatek soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher 2019-04-12 21:57:49 +02:00
qcom drivers: soc: qcom: rpmh-rsc: Correct check for slot number 2019-04-09 23:40:09 -05:00
renesas soc: renesas: Identify R-Car M3-W ES1.3 2019-03-18 10:33:42 +01:00
rockchip soc: rockchip: Set the proper PWM for rk3288 2019-04-11 13:40:32 +02:00
samsung soc: samsung: pm_domains: Deprecate support for clocks 2018-04-17 17:25:42 +02:00
sunxi soc: sunxi: Fix missing dependency on REGMAP_MMIO 2019-04-30 17:55:08 +02:00
tegra soc/tegra: pmc: Move powergate initialisation to probe 2019-04-17 10:32:33 +02:00
ti Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-19 10:58:45 -07:00
ux500
versatile soc: versatile: remove unnecessary static in realview_soc_probe() 2017-08-16 22:28:27 +02:00
xilinx drivers: Defer probe if firmware is not ready 2019-03-18 13:45:27 +01:00
zte soc: zte: Restrict SOC_ZTE to ARCH_ZX or COMPILE_TEST 2017-07-27 13:12:34 +02:00
Kconfig ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
Makefile ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00