On Thu, Oct 29, 2020 at 04:40:35PM +0800, Qiang Zhao wrote: > From: Zhao Qiang <qiang.zhao@xxxxxxx> > > Since commit 530b5affc675 ("spi: fsl-dspi: fix use-after-free in > remove path"), this driver causes a kernel oops: > > [ 64.587431] Unable to handle kernel NULL pointer dereference at > virtual address 0000000000000020 > [..] > [ 64.756080] Call trace: > [ 64.758526] dspi_suspend+0x30/0x78 > [ 64.762012] platform_pm_suspend+0x28/0x70 > [ 64.766107] dpm_run_callback.isra.19+0x24/0x70 > [ 64.770635] __device_suspend+0xf4/0x2f0 > [ 64.774553] dpm_suspend+0xec/0x1e0 > [ 64.778036] dpm_suspend_start+0x80/0xa0 > [ 64.781957] suspend_devices_and_enter+0x118/0x4f0 > [ 64.786743] pm_suspend+0x1e0/0x260 > [ 64.790227] state_store+0x8c/0x118 > [ 64.793712] kobj_attr_store+0x18/0x30 > [ 64.797459] sysfs_kf_write+0x40/0x58 > [ 64.801118] kernfs_fop_write+0x148/0x240 > [ 64.805126] vfs_write+0xc0/0x230 > [ 64.808436] ksys_write+0x6c/0x100 > [ 64.811833] __arm64_sys_write+0x1c/0x28 > [ 64.815753] el0_svc_common.constprop.3+0x68/0x170 > [ 64.820541] do_el0_svc+0x24/0x90 > [ 64.823853] el0_sync_handler+0x118/0x168 > [ 64.827858] el0_sync+0x158/0x180 > > This is because since this commit, the drivers private data point to > "dspi" instead of "ctlr", the codes in suspend and resume func were > not modified correspondly. > > Fixes: 530b5affc675 ("spi: fsl-dspi: fix use-after-free in remove path") > Signed-off-by: Zhao Qiang <qiang.zhao@xxxxxxx> > --- Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx> Please resend with Mark's comment. I would prefer that you even remove the stack trace completely and make it more obvious in the commit message itself that the NULL pointer occurs during suspend/resume. Somehow that managed to get obscured in your current version. It is also not helpful at all that there already exists a commit titled 'spi: fsl-dspi: fix NULL pointer dereference' on this driver. This causes confusion for backporters. Please provide a unique commit message. Thanks.