forked from luck/tmp_suning_uos_patched
6f54120e17
We've got a kernel panic when using sata disk with sas controller: [115946.152283] Unable to handle kernel NULL pointer dereference at virtual address 000007d8 [115946.223963] CPU: 0 PID: 22175 Comm: kworker/0:1 Tainted: G W OEL 4.14.0 #1 [115946.232925] Workqueue: events ata_scsi_hotplug [115946.237938] task: ffff8021ee50b180 task.stack: ffff00000d5d0000 [115946.244717] PC is at sas_find_dev_by_rphy+0x44/0x114 [115946.250224] LR is at sas_find_dev_by_rphy+0x3c/0x114 ...... [115946.355701] Process kworker/0:1 (pid: 22175, stack limit = 0xffff00000d5d0000) [115946.363369] Call trace: [115946.456356] [<ffff000008878a9c>] sas_find_dev_by_rphy+0x44/0x114 [115946.462908] [<ffff000008878b8c>] sas_target_alloc+0x20/0x5c [115946.469408] [<ffff00000885a31c>] scsi_alloc_target+0x250/0x308 [115946.475781] [<ffff00000885ba30>] __scsi_add_device+0xb0/0x154 [115946.481991] [<ffff0000088b520c>] ata_scsi_scan_host+0x180/0x218 [115946.488367] [<ffff0000088b53d8>] ata_scsi_hotplug+0xb0/0xcc [115946.494801] [<ffff0000080ebd70>] process_one_work+0x144/0x390 [115946.501115] [<ffff0000080ec100>] worker_thread+0x144/0x418 [115946.507093] [<ffff0000080f2c98>] kthread+0x10c/0x138 [115946.512792] [<ffff0000080855dc>] ret_from_fork+0x10/0x18 We found that Ding Xiang has reported a similar bug before: https://patchwork.kernel.org/patch/9179817/ And this bug still exists in mainline. Since libsas handles hotplug and device adding/removing itself, do not need to schedule ata hot plug task here if it is a sas host. Signed-off-by: Jason Yan <yanaijie@huawei.com> Cc: Ding Xiang <dingxiang@huawei.com> Cc: stable@vger.kernel.org Signed-off-by: Tejun Heo <tj@kernel.org> |
||
---|---|---|
.. | ||
acard-ahci.c | ||
ahci_brcm.c | ||
ahci_ceva.c | ||
ahci_da850.c | ||
ahci_dm816.c | ||
ahci_imx.c | ||
ahci_mtk.c | ||
ahci_mvebu.c | ||
ahci_octeon.c | ||
ahci_platform.c | ||
ahci_qoriq.c | ||
ahci_seattle.c | ||
ahci_st.c | ||
ahci_sunxi.c | ||
ahci_tegra.c | ||
ahci_xgene.c | ||
ahci.c | ||
ahci.h | ||
ata_generic.c | ||
ata_piix.c | ||
Kconfig | ||
libahci_platform.c | ||
libahci.c | ||
libata-acpi.c | ||
libata-core.c | ||
libata-eh.c | ||
libata-pmp.c | ||
libata-scsi.c | ||
libata-sff.c | ||
libata-trace.c | ||
libata-transport.c | ||
libata-transport.h | ||
libata-zpodd.c | ||
libata.h | ||
Makefile | ||
pata_acpi.c | ||
pata_ali.c | ||
pata_amd.c | ||
pata_arasan_cf.c | ||
pata_artop.c | ||
pata_atiixp.c | ||
pata_atp867x.c | ||
pata_bf54x.c | ||
pata_bk3710.c | ||
pata_cmd64x.c | ||
pata_cmd640.c | ||
pata_cs5520.c | ||
pata_cs5530.c | ||
pata_cs5535.c | ||
pata_cs5536.c | ||
pata_cypress.c | ||
pata_efar.c | ||
pata_ep93xx.c | ||
pata_falcon.c | ||
pata_ftide010.c | ||
pata_hpt3x2n.c | ||
pata_hpt3x3.c | ||
pata_hpt37x.c | ||
pata_hpt366.c | ||
pata_icside.c | ||
pata_imx.c | ||
pata_isapnp.c | ||
pata_it821x.c | ||
pata_it8213.c | ||
pata_ixp4xx_cf.c | ||
pata_jmicron.c | ||
pata_legacy.c | ||
pata_macio.c | ||
pata_marvell.c | ||
pata_mpc52xx.c | ||
pata_mpiix.c | ||
pata_netcell.c | ||
pata_ninja32.c | ||
pata_ns87410.c | ||
pata_ns87415.c | ||
pata_octeon_cf.c | ||
pata_of_platform.c | ||
pata_oldpiix.c | ||
pata_opti.c | ||
pata_optidma.c | ||
pata_palmld.c | ||
pata_pcmcia.c | ||
pata_pdc202xx_old.c | ||
pata_pdc2027x.c | ||
pata_piccolo.c | ||
pata_platform.c | ||
pata_pxa.c | ||
pata_radisys.c | ||
pata_rb532_cf.c | ||
pata_rdc.c | ||
pata_rz1000.c | ||
pata_samsung_cf.c | ||
pata_sc1200.c | ||
pata_sch.c | ||
pata_serverworks.c | ||
pata_sil680.c | ||
pata_sis.c | ||
pata_sl82c105.c | ||
pata_triflex.c | ||
pata_via.c | ||
pdc_adma.c | ||
sata_dwc_460ex.c | ||
sata_fsl.c | ||
sata_gemini.c | ||
sata_gemini.h | ||
sata_highbank.c | ||
sata_inic162x.c | ||
sata_mv.c | ||
sata_nv.c | ||
sata_promise.c | ||
sata_promise.h | ||
sata_qstor.c | ||
sata_rcar.c | ||
sata_sil.c | ||
sata_sil24.c | ||
sata_sis.c | ||
sata_svw.c | ||
sata_sx4.c | ||
sata_uli.c | ||
sata_via.c | ||
sata_vsc.c | ||
sis.h |