LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "pmenzel+linux-block@molgen.mpg.de"
<pmenzel+linux-block@molgen.mpg.de>,
"axboe@kernel.dk" <axboe@kernel.dk>
Cc: "jejb@linux.vnet.ibm.com" <jejb@linux.vnet.ibm.com>,
"regressions@leemhuis.info" <regressions@leemhuis.info>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: Re: Regression 4.17-rc1: SSD doesn properly resume causing system hang (NULL pointer dereference)
Date: Tue, 24 Apr 2018 18:27:00 +0000 [thread overview]
Message-ID: <134955874b401e6764077393c75ab2d4549b940a.camel@wdc.com> (raw)
In-Reply-To: <a3a7f906-3681-15cc-67af-b96e4ac71b0e@molgen.mpg.de>
On Tue, 2018-04-24 at 19:37 +0200, Paul Menzel wrote:
> On 04/24/18 19:31, Bart Van Assche wrote:
> Here it is, pasted as citation, as otherwise Thunderbird would wrap the
> line.
>
> > (gdb) disas blk_set_runtime_active
> > Dump of assembler code for function blk_set_runtime_active:
> > 0xc1518610 <+0>: call 0xc106ac9c <__fentry__>
> > 0xc1518615 <+5>: push %ebp
> > 0xc1518616 <+6>: mov %esp,%ebp
> > 0xc1518618 <+8>: sub $0x14,%esp
> > 0xc151861b <+11>: mov %ebx,-0xc(%ebp)
> > 0xc151861e <+14>: mov %eax,%ebx
> > 0xc1518620 <+16>: mov %gs:0x14,%eax
> > 0xc1518626 <+22>: mov %eax,-0x10(%ebp)
> > 0xc1518629 <+25>: xor %eax,%eax
> > 0xc151862b <+27>: test %ebx,%ebx
> > 0xc151862d <+29>: mov %esi,-0x8(%ebp)
> > 0xc1518630 <+32>: mov %edi,-0x4(%ebp)
> > 0xc1518633 <+35>: je 0xc15186b3 <blk_set_runtime_active+163>
> > 0xc1518635 <+37>: mov 0xfc(%ebx),%eax
> > 0xc151863b <+43>: call 0xc1a4b920 <_raw_spin_lock_irq>
> > 0xc1518640 <+48>: mov 0x150(%ebx),%esi
> > 0xc1518646 <+54>: xor %eax,%eax
> > 0xc1518648 <+56>: mov 0xc1ca7d20,%edi
> > 0xc151864e <+62>: mov %eax,0x154(%ebx)
> > 0xc1518654 <+68>: cmp $0xffffff0c,%esi
> > 0xc151865a <+74>: mov %edi,-0x14(%ebp)
> > 0xc151865d <+77>: je 0xc15186a5 <blk_set_runtime_active+149>
> > 0xc151865f <+79>: mov %edi,0xf4(%esi)
The e-mail at the start of this e-mail thread shows that %esi == NULL at
the time of the crash and also that the crash occurred at offset 79 (0x4f)
in this function. I think that means that the crash occurred in the following
code: pm_request_autosuspend(q->dev) and also that this means that q->dev ==
NULL. Can you test the (untested) patch below?
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 57cae47ab1c2..b029a94a1e66 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -3272,7 +3272,6 @@ static void sd_probe_async(struct work_struct *work)
gd->events |= DISK_EVENT_MEDIA_CHANGE;
}
- blk_pm_runtime_init(sdp->request_queue, dev);
device_add_disk(dev, gd);
if (sdkp->capacity)
sd_dif_config_host(sdkp);
@@ -3390,6 +3389,8 @@ static int sd_probe(struct device *dev)
get_device(dev);
dev_set_drvdata(dev, sdkp);
+ blk_pm_runtime_init(sdp->request_queue, dev);
+
get_device(&sdkp->dev); /* prevent release before sd_probe_async() */
WARN_ON_ONCE(!queue_work(system_unbound_wq, &sdkp->probe_work));
Thanks,
Bart.
next prev parent reply other threads:[~2018-04-24 18:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-24 16:14 Regression 4.17-rc1: SSD doesn’t " Paul Menzel
2018-04-24 16:26 ` Regression 4.17-rc1: SSD doesnʼt " Bart Van Assche
2018-04-24 17:10 ` Paul Menzel
2018-04-24 17:31 ` Regression 4.17-rc1: SSD doesn " Bart Van Assche
2018-04-24 17:37 ` Paul Menzel
2018-04-24 18:27 ` Bart Van Assche [this message]
2018-04-24 21:04 ` Paul Menzel
2018-04-24 21:17 ` Bart Van Assche
2018-04-25 5:37 ` Paul Menzel
2018-04-25 12:26 ` Bart Van Assche
2018-04-25 12:34 ` Regression 4.17-rc1: SSD doesn’t " Paul Menzel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=134955874b401e6764077393c75ab2d4549b940a.camel@wdc.com \
--to=bart.vanassche@wdc.com \
--cc=axboe@kernel.dk \
--cc=jejb@linux.vnet.ibm.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=pmenzel+linux-block@molgen.mpg.de \
--cc=regressions@leemhuis.info \
--subject='Re: Regression 4.17-rc1: SSD doesn properly resume causing system hang (NULL pointer dereference)' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).