Artem Savkov
0648a07c9b
scsi: scsi_dh_rdac: Use ctlr directly in rdac_failover_get()
rdac_failover_get references struct rdac_controller as
ctlr->ms_sdev->handler_data->ctlr for no apparent reason. Besides being
inefficient this also introduces a null-pointer dereference as
send_mode_select() sets ctlr->ms_sdev to NULL before calling
rdac_failover_get():
[ 18.432550] device-mapper: multipath service-time: version 0.3.0 loaded
[ 18.436124] BUG: unable to handle kernel NULL pointer dereference at 0000000000000790
[ 18.436129] IP: send_mode_select+0xca/0x560
[ 18.436129] PGD 0
[ 18.436130] P4D 0
[ 18.436130]
[ 18.436132] Oops: 0000 [#1] SMP
[ 18.436133] Modules linked in: dm_service_time sd_mod dm_multipath amdkfd amd_iommu_v2 radeon(+) i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm qla2xxx drm serio_raw scsi_transport_fc bnx2 i2c_core dm_mirror dm_region_hash dm_log dm_mod
[ 18.436143] CPU: 4 PID: 443 Comm: kworker/u16:2 Not tainted 4.12.0-rc1.1.el7.test.x86_64 #1
[ 18.436144] Hardware name: IBM BladeCenter LS22 -[79013SG]-/Server Blade, BIOS -[L8E164AUS-1.07]- 05/25/2011
[ 18.436145] Workqueue: kmpath_rdacd send_mode_select
[ 18.436146] task: ffff880225116a40 task.stack: ffffc90002bd8000
[ 18.436148] RIP: 0010:send_mode_select+0xca/0x560
[ 18.436148] RSP: 0018:ffffc90002bdbda8 EFLAGS: 00010246
[ 18.436149] RAX: 0000000000000000 RBX: ffffc90002bdbe08 RCX: ffff88017ef04a80
[ 18.436150] RDX: ffffc90002bdbe08 RSI: ffff88017ef04a80 RDI: ffff8802248e4388
[ 18.436151] RBP: ffffc90002bdbe48 R08: 0000000000000000 R09: ffffffff81c104c0
[ 18.436151] R10: 00000000000001ff R11: 000000000000035a R12: ffffc90002bdbdd8
[ 18.436152] R13: ffff8802248e4390 R14: ffff880225152800 R15: ffff8802248e4400
[ 18.436153] FS: 0000000000000000(0000) GS:ffff880227d00000(0000) knlGS:0000000000000000
[ 18.436154] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 18.436154] CR2: 0000000000000790 CR3: 000000042535b000 CR4: 00000000000006e0
[ 18.436155] Call Trace:
[ 18.436159] ? rdac_activate+0x14e/0x150
[ 18.436161] ? refcount_dec_and_test+0x11/0x20
[ 18.436162] ? kobject_put+0x1c/0x50
[ 18.436165] ? scsi_dh_activate+0x6f/0xd0
[ 18.436168] process_one_work+0x149/0x360
[ 18.436170] worker_thread+0x4d/0x3c0
[ 18.436172] kthread+0x109/0x140
[ 18.436173] ? rescuer_thread+0x380/0x380
[ 18.436174] ? kthread_park+0x60/0x60
[ 18.436176] ret_from_fork+0x2c/0x40
[ 18.436177] Code: 49 c7 46 20 00 00 00 00 4c 89 ef c6 07 00 0f 1f 40 00 45 31 ed c7 45 b0 05 00 00 00 44 89 6d b4 4d 89 f5 4c 8b 75 a8 49 8b 45 20 <48> 8b b0 90 07 00 00 48 8b 56 10 8b 42 10 48 8d 7a 28 85 c0 0f
[ 18.436192] RIP: send_mode_select+0xca/0x560 RSP: ffffc90002bdbda8
[ 18.436192] CR2: 0000000000000790
[ 18.436198] ---[ end trace 40f3e4dca1ffabdd ]---
[ 18.436199] Kernel panic - not syncing: Fatal exception
[ 18.436222] Kernel Offset: disabled
[-- MARK -- Thu May 18 11:45:00 2017]
Fixes: 327825574132 scsi_dh_rdac: switch to scsi_execute_req_flags()
Cc: stable@vger.kernel.org
Signed-off-by: Artem Savkov <asavkov@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-05-23 21:53:15 -04:00
..
2017-05-05 18:49:20 -07:00
2017-05-01 13:34:49 -07:00
2017-04-12 21:59:01 -07:00
2017-05-05 19:33:07 -07:00
2017-05-06 11:25:08 -07:00
2017-04-30 12:22:14 +02:00
2017-04-20 12:16:10 -06:00
2017-05-04 19:15:35 -07:00
2017-05-02 17:34:32 -07:00
2017-05-01 16:15:18 -07:00
2017-05-01 19:12:53 -07:00
2017-04-28 23:15:34 +02:00
2017-05-02 15:53:46 -07:00
2017-05-05 18:49:20 -07:00
2017-04-20 13:47:46 +05:30
2017-04-27 14:15:38 +02:00
2017-05-05 12:11:37 -07:00
2017-04-26 11:38:56 +02:00
2017-05-04 19:15:35 -07:00
2017-05-05 17:34:57 -07:00
2017-05-02 19:09:35 -07:00
2017-04-21 17:58:45 +02:00
2017-05-04 19:15:35 -07:00
2017-04-30 11:45:31 -07:00
2017-05-04 19:15:35 -07:00
2017-05-03 12:38:20 -07:00
2017-04-26 07:53:35 -06:00
2017-05-05 18:16:23 -07:00
2017-05-04 19:15:35 -07:00
2017-05-04 19:15:35 -07:00
2017-05-05 17:18:44 -07:00
2017-04-30 11:21:16 +02:00
2017-04-19 20:27:50 +02:00
2017-05-04 07:53:04 -06:00
2017-05-05 19:33:07 -07:00
2017-04-27 16:20:04 +05:30
2017-05-06 11:25:08 -07:00
2017-05-05 18:16:23 -07:00
2017-05-03 12:16:25 -07:00
2017-04-24 18:21:17 -04:00
2017-04-27 11:54:49 +01:00
2017-05-05 11:36:44 -07:00
2017-05-02 17:34:32 -07:00
2017-05-06 11:25:08 -07:00
2017-05-04 12:31:03 -04:00
2017-04-17 00:42:22 +02:00
2017-04-20 09:54:24 +02:00
2017-05-05 18:49:20 -07:00
2017-05-04 07:53:04 -06:00
2017-05-05 19:33:07 -07:00
2017-05-03 11:44:24 -07:00
2017-05-02 19:09:35 -07:00
2017-05-04 19:15:35 -07:00
2017-05-01 14:13:28 -07:00
2017-05-01 16:15:18 -07:00
2017-05-04 19:15:35 -07:00
2017-04-30 22:17:44 +09:00
2017-05-08 12:37:56 -07:00
2017-05-23 21:53:15 -04:00
2017-05-02 16:40:27 -07:00
2017-04-26 15:58:22 +01:00
2017-05-05 18:16:23 -07:00
2017-05-01 10:39:57 -07:00
2017-05-03 12:16:25 -07:00
2017-05-05 19:33:07 -07:00
2017-05-05 19:33:07 -07:00
2017-05-05 11:36:44 -07:00
2017-04-24 12:35:56 -04:00
2017-05-03 12:11:44 -07:00
2017-04-28 21:51:28 +03:00
2017-05-02 12:06:50 +02:00
2017-05-05 18:49:20 -07:00