From 96d525dc032186290b9ec8cc76790ecf9a646315 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 2 Nov 2017 22:45:33 -0400 Subject: 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 [bva: modified for 4.12 context] Signed-off-by: Bruce Ashfield (From OE-Core rev: 56548b615442e3f58b204c4810d7fe1e3d852409) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie (cherry picked from commit 089dc30e11a5bbd10bf6bebea6aa0ac2173bc9a3) Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-tiny_4.12.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta/recipes-kernel/linux/linux-yocto-tiny_4.12.bb') diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.12.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.12.bb index c7f1b8dc81..658ecc0d6d 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.12.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.12.bb @@ -9,7 +9,7 @@ LINUX_VERSION ?= "4.12.14" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "26c1863a744836d9171dff262b864cb67f4d537c" +SRCREV_machine ?= "9cc6b0ae1aad7312e85ac4134398f81c0140de33" SRCREV_meta ?= "cebe198870d781829bd997a188cc34d9f7a61023" PV = "${LINUX_VERSION}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf