Nicholas Bellinger
6f48655fac
target: Fix node_acl demo-mode + uncached dynamic shutdown regression
This patch fixes a generate_node_acls = 1 + cache_dynamic_acls = 0
regression, that was introduced by
commit 01d4d67355
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date: Wed Dec 7 12:55:54 2016 -0800
which originally had the proper list_del_init() usage, but was
dropped during list review as it was thought unnecessary by HCH.
However, list_del_init() usage is required during the special
generate_node_acls = 1 + cache_dynamic_acls = 0 case when
transport_free_session() does a list_del(&se_nacl->acl_list),
followed by target_complete_nacl() doing the same thing.
This was manifesting as a general protection fault as reported
by Justin:
kernel: general protection fault: 0000 [#1] SMP
kernel: Modules linked in:
kernel: CPU: 0 PID: 11047 Comm: iscsi_ttx Not tainted 4.13.0-rc2.x86_64.1+ #20
kernel: Hardware name: Intel Corporation S5500BC/S5500BC, BIOS S5500.86B.01.00.0064.050520141428 05/05/2014
kernel: task: ffff88026939e800 task.stack: ffffc90007884000
kernel: RIP: 0010:target_put_nacl+0x49/0xb0
kernel: RSP: 0018:ffffc90007887d70 EFLAGS: 00010246
kernel: RAX: dead000000000200 RBX: ffff8802556ca000 RCX: 0000000000000000
kernel: RDX: dead000000000100 RSI: 0000000000000246 RDI: ffff8802556ce028
kernel: RBP: ffffc90007887d88 R08: 0000000000000001 R09: 0000000000000000
kernel: R10: ffffc90007887df8 R11: ffffea0009986900 R12: ffff8802556ce020
kernel: R13: ffff8802556ce028 R14: ffff8802556ce028 R15: ffffffff88d85540
kernel: FS: 0000000000000000(0000) GS:ffff88027fc00000(0000) knlGS:0000000000000000
kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kernel: CR2: 00007fffe36f5f94 CR3: 0000000009209000 CR4: 00000000003406f0
kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
kernel: Call Trace:
kernel: transport_free_session+0x67/0x140
kernel: transport_deregister_session+0x7a/0xc0
kernel: iscsit_close_session+0x92/0x210
kernel: iscsit_close_connection+0x5f9/0x840
kernel: iscsit_take_action_for_connection_exit+0xfe/0x110
kernel: iscsi_target_tx_thread+0x140/0x1e0
kernel: ? wait_woken+0x90/0x90
kernel: kthread+0x124/0x160
kernel: ? iscsit_thread_get_cpumask+0x90/0x90
kernel: ? kthread_create_on_node+0x40/0x40
kernel: ret_from_fork+0x22/0x30
kernel: Code: 00 48 89 fb 4c 8b a7 48 01 00 00 74 68 4d 8d 6c 24 08 4c
89 ef e8 e8 28 43 00 48 8b 93 20 04 00 00 48 8b 83 28 04 00 00 4c 89
ef <48> 89 42 08 48 89 10 48 b8 00 01 00 00 00 00 ad de 48 89 83 20
kernel: RIP: target_put_nacl+0x49/0xb0 RSP: ffffc90007887d70
kernel: ---[ end trace f12821adbfd46fed ]---
To address this, go ahead and use proper list_del_list() for all
cases of se_nacl->acl_list deletion.
Reported-by: Justin Maggard <jmaggard01@gmail.com>
Tested-by: Justin Maggard <jmaggard01@gmail.com>
Cc: Justin Maggard <jmaggard01@gmail.com>
Cc: stable@vger.kernel.org # 4.1+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2017-08-09 20:55:19 -07:00
..
2017-07-17 11:43:58 -07:00
2017-07-17 14:44:19 +02:00
2017-07-06 09:41:58 -07:00
2017-07-18 11:37:46 -07:00
2017-07-20 14:56:46 -07:00
2017-07-13 08:03:30 -06:00
2017-07-05 12:31:59 -07:00
2017-07-09 18:48:37 -07:00
2017-06-27 12:13:45 -06:00
2017-07-15 12:44:02 -07:00
2017-07-15 10:59:54 -07:00
2017-07-17 22:43:00 +02:00
2017-07-20 18:57:15 +02:00
2017-07-07 13:55:45 -07:00
2017-07-14 22:49:50 -07:00
2017-07-18 17:49:14 -07:00
2017-07-06 10:17:24 +09:00
2017-07-08 12:36:50 -07:00
2017-07-17 11:56:07 -04:00
2017-06-29 10:37:50 +02:00
2017-07-12 16:26:02 -07:00
2017-07-17 16:13:54 +02:00
2017-07-07 13:30:05 -07:00
2017-07-21 14:04:44 +10:00
2017-07-20 15:45:39 +02:00
2017-07-04 14:28:22 -07:00
2017-07-17 15:00:47 +02:00
2017-07-15 16:38:56 -07:00
2017-07-03 20:55:59 -07:00
2017-07-12 10:04:56 -07:00
2017-07-21 04:37:22 +01:00
2017-06-29 22:58:35 +02:00
2017-07-04 11:48:27 -07:00
2017-07-20 11:24:13 -04:00
2017-07-14 22:53:37 -07:00
2017-07-12 10:00:04 -07:00
2017-07-18 21:59:23 +02:00
2017-07-15 21:25:56 -07:00
2017-07-06 11:32:40 -07:00
2017-07-07 13:17:36 -06:00
2017-07-05 13:13:32 -07:00
2017-07-07 10:24:07 -07:00
2017-07-18 11:51:08 -07:00
2017-07-09 18:48:37 -07:00
2017-07-04 14:47:47 -07:00
2017-07-11 09:55:47 -07:00
2017-07-07 13:55:45 -07:00
2017-07-14 13:10:06 -07:00
2017-07-13 12:07:44 -07:00
2017-07-17 16:38:35 +02:00
2017-07-20 16:33:39 -07:00
2017-07-01 14:30:39 -07:00
2017-07-06 11:30:08 -04:00
2017-07-17 11:43:58 -07:00
2017-07-20 08:41:56 -06:00
2017-07-17 16:15:57 +02:00
2017-07-10 15:23:45 -07:00
2017-07-05 21:46:42 +02:00
2017-07-14 22:24:25 -07:00
2017-07-06 11:38:59 -07:00
2017-07-15 10:59:54 -07:00
2017-07-07 12:40:27 -07:00
2017-07-13 11:47:59 -07:00
2017-06-28 00:38:34 +02:00
2017-07-06 11:40:58 +01:00
2017-07-13 11:49:52 -07:00
2017-07-05 17:09:27 -07:00
2017-07-03 16:52:21 +01:00
2017-06-27 16:21:34 -07:00
2017-07-04 14:47:47 -07:00
2017-07-06 15:38:31 -07:00
2017-07-13 12:15:06 -07:00
2017-07-12 16:26:04 -07:00
2017-06-27 12:13:45 -06:00
2017-07-30 16:48:43 -07:00
2017-07-06 16:24:30 -07:00
2017-07-04 14:47:47 -07:00
2017-07-08 10:41:53 -07:00
2017-07-17 15:00:47 +02:00
2017-07-18 09:04:22 +02:00
2017-08-09 20:55:19 -07:00
2017-07-14 13:12:32 -07:00
2017-07-17 15:55:08 +02:00
2017-07-17 17:04:41 +02:00
2017-07-20 14:40:36 +02:00
2017-07-03 20:27:48 -07:00
2017-07-13 12:23:54 -07:00
2017-07-13 14:27:32 -07:00
2017-07-13 12:38:49 -07:00
2017-07-17 16:48:15 +02:00
2017-07-11 09:59:37 -07:00
2017-07-23 08:13:18 +02:00