diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2017-11-02 22:45:33 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-12-04 17:23:54 +0000 |
commit | 96d525dc032186290b9ec8cc76790ecf9a646315 (patch) | |
tree | d10df45b692c11f1bfb62472f0dbbd984374b33f /meta/site/mipsisa32r6-linux | |
parent | d61b65f35ccfe5a023049cd24da56b30c9a26fb1 (diff) | |
download | poky-96d525dc032186290b9ec8cc76790ecf9a646315.tar.gz |
linux-yocto/4.12: ide:ide-cd: fix kernel panic resulting from missing scsi_req_init
Integrating a backport of upstream commit:
ide:ide-cd: fix kernel panic resulting from missing scsi_req_init
commit 79d73346ac05bc31 upstream
Since we split the scsi_request out of struct request, while the
standard prep_rq_fn builds 10 byte cmds, it missed to invoke
scsi_req_init() to initialize certain fields of a scsi_request
structure (.__cmd[], .cmd, .cmd_len and .sense_len but no other
members of struct scsi_request).
An example panic on virtual machines (qemu/virtualbox) to boot
from IDE cdrom:
...
[ 8.754381] Call Trace:
[ 8.755419] blk_peek_request+0x182/0x2e0
[ 8.755863] blk_fetch_request+0x1c/0x40
[ 8.756148] ? ktime_get+0x40/0xa0
[ 8.756385] do_ide_request+0x37d/0x660
[ 8.756704] ? cfq_group_service_tree_add+0x98/0xc0
[ 8.757011] ? cfq_service_tree_add+0x1e5/0x2c0
[ 8.757313] ? ktime_get+0x40/0xa0
[ 8.757544] __blk_run_queue+0x3d/0x60
[ 8.757837] queue_unplugged+0x2f/0xc0
[ 8.758088] blk_flush_plug_list+0x1f4/0x240
[ 8.758362] blk_finish_plug+0x2c/0x40
...
[ 8.770906] RIP: ide_cdrom_prep_fn+0x63/0x180 RSP: ffff92aec018bae8
[ 8.772329] ---[ end trace 6408481e551a85c9 ]---
...
Fixes: 82ed4db499b8 ("block: split scsi_request out of struct request")
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
[bva: modified for 4.12 context]
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
(From OE-Core rev: 56548b615442e3f58b204c4810d7fe1e3d852409)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 089dc30e11a5bbd10bf6bebea6aa0ac2173bc9a3)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/site/mipsisa32r6-linux')
0 files changed, 0 insertions, 0 deletions