From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754168AbcAHIb0 (ORCPT ); Fri, 8 Jan 2016 03:31:26 -0500 Received: from mail-bl2on0100.outbound.protection.outlook.com ([65.55.169.100]:7392 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751397AbcAHIbX (ORCPT ); Fri, 8 Jan 2016 03:31:23 -0500 Authentication-Results: spf=pass (sender IP is 63.163.107.173) smtp.mailfrom=sandisk.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac160a69-f797e6d000000b05-cb-568f73d52144 Subject: Re: [PATCH 1/4] target: Obtain se_node_acl->acl_kref during get_initiator_node_acl To: Christoph Hellwig , "Nicholas A. Bellinger" References: <1452237348-2277-1-git-send-email-nab@daterainc.com> <1452237348-2277-2-git-send-email-nab@daterainc.com> <20160108081412.GA32138@lst.de> CC: target-devel , linux-scsi , lkml , "Sagi Grimberg" , Hannes Reinecke , Andy Grover , Vasu Dev , Vu Pham , Nicholas Bellinger From: Bart Van Assche Message-ID: <568F73D2.2090808@sandisk.com> Date: Fri, 8 Jan 2016 09:31:14 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <20160108081412.GA32138@lst.de> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPIsWRmVeSWpSXmKPExsWyRoxnke7V4v4wg3l90hb7Zz1jstizaBKT xcrVR5ksLu+aw2bRfX0Hm8WrcyuYLNpWn2G0uNH2gM2idelbJou9j/wspp96yOjA7bH0wypm j/vbjzB5zDsZ6LH7ZgObx7Pph5k83u+7yuax+XS1x+dNcgEcUVw2Kak5mWWpRfp2CVwZ2462 MBb8Yav41NrE2MB4lbWLkZNDQsBEYsfuF0wQtpjEhXvr2boYuTiEBE4wSvxZ1MMCkhAS2M4o seKXPUxDw+39jBBFmxklVm8+wAaSEBaIlbj4bQ5Yg4hAoMSSbZ+ZIIpmMkpcPjaPGcRhFrjK JNF59BMjSBWbgJHEt/czwTp4BbQk5nz6AXQTBweLgIrE1ZsSIGFRgQiJHxuWMEKUCEqcnPkE rJxTQEei7/5PZhCbWcBCYub884wQtrxE89bZYLskBBrZJA5cnMQI8YK6xMkl85kmMIrMQjJr FpL+WUj6FzAyr2IUy83MKc5NTy0wNNIrTsxLySzO1kvOz93ECI5GrswdjCsmmR9iFOBgVOLh 5djRFybEmlhWXJl7iFGCg1lJhPdDXn+YEG9KYmVValF+fFFpTmrxIUZpDhYlcV7rFrUwIYH0 xJLU7NTUgtQimCwTB6dUA2NQor9s+8kDEoasvv1vVViLmJuupq5f3zzt9TPjZXNrN2l/yXsg /ifsyL1Uizd7su99OKFVmRy6xOz8i8hzB1SmrU3y4RfZevuPxU2XKv1l3gs1OM/2zsh5HHgl oPLxicWLDXTla6d5WTouSlfIUrM3WSK/O0p3n01UhcWunvjaKOE5210mVCqxFGckGmoxFxUn AgDq1hQ4wgIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCLMWRmVeSWpSXmKPExsXCtZEjRfdqcX+YwZV5vBb7Zz1jstizaBKT xcrVR5ksLu+aw2bRfX0Hm8WrcyuYLNpWn2G0uNH2gM2idelbJou9j/wspp96yOjA7bH0wypm j/vbjzB5zDsZ6LH7ZgObx7Pph5k83u+7yuax+XS1x+dNcgEcUVw2Kak5mWWpRfp2CVwZ2462 MBb8Yav41NrE2MB4lbWLkZNDQsBEouH2fkYIW0ziwr31bF2MXBxCAhsZJbrmTWMBSQgLxEpc /DYHyObgEBEIlFi/gRuiZiajxOVj85hBHGaB60wSFybvBZvKJmAk8e39TLBmXgEtiTmffrCC NLMIqEhcvSkBEhYViJD4sWEJI0SJoMTJmU/AyjkFdCT67v9kBrGZBcwk5m1+CGXLSzRvnc08 gZF/FpKWWUjKZiEpW8DIvIpRLDczpzg3PbPA0EivODEvJbM4Wy85P3cTIzgeOKN2MF6faH6I kYmDU6qBUXqvu+HOzgV/gvKW+2zdH3/xaFT/Ya7gWzYJmw7H3Ha78uh5maqDeu99C2Gv6bqu rJ/0NN4a/gg00LRblJ7yq1YiK6Pq7O6YR+Xzb836cEXfi6lz+eyrGWu+32AM5DusFytRLdSj b6nB0rtKPY21QXNplGJb2t5DK6P7t+d8etLOsHfq+xIRJZbijERDLeai4kQAaoCY9jcCAAA= X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD028;1:ePpCg2pMU7aKP0058keEQCSuCXZfuPBh40Fn0AMmvSa46rEcVgl3S0QbnociuxxaiNN6GtFhWHM+TjQYjtjOYVLL+oZqEHKwRljMv1XAmqbeG5hPaQ9CF2CWCwpNC0RnNigNOSZcSJszLhA+1hk5uKAGC+acvg98XtPjOoyqH4YGQBxi2yAJmiPcphWtQZIo3oniGg8VOjOCrSHeqF+R9NxBum4LEjdDBK43DShlUaGmubGwJpelP+DldtsAX+x1gwko77OOvTCLg324pntB+NT+R5JXXa8qCro7LyZAPAzYtC63sk6RzIL3foKepV+2XMxLQxgArcefwkDQgXSHlhki2ivRNUC4GYtigZAaAczoKfqshiuS9rr2Wz/8AN096pr+LZsFogzpgs7Am5DCu6UFAI4usfWA8M8LquiyIaw= X-Forefront-Antispam-Report: CIP:63.163.107.173;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(24454002)(189002)(479174004)(199003)(377454003)(76176999)(1096002)(4326007)(69596002)(87936001)(5001960100002)(106466001)(5001770100001)(92566002)(59896002)(77096005)(50986999)(2950100001)(81156007)(189998001)(65816999)(4001350100001)(5008740100001)(80316001)(36756003)(97736004)(65806001)(87266999)(23676002)(65956001)(47776003)(33656002)(64126003)(586003)(1220700001)(50466002)(83506001)(54356999)(86362001)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR0201MB0822;H:milsmgep12.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0822;2:tf3IGA5wsbINng6NqKVlTOmJhnAdyLo6vD1Z8uRmA5zHbp4+cKEyTpyjCgLSNS+dwzOtiC39ZwwmqqRl7qV3O9Xi+g1XS+LMqhmCmbDGfaIobQzsioKT0P3BAE82kL8nW6brsgXD0QDzaRdNcTkVJw==;3:RpXWltFqFEXNK3jfp8f7+RFBWskDWKESjCto5Dm+0GLA8Lfh5wi4PVNhyQbYvj0w1QU/cxmxg5wZ7Sjo1RX1MOy5B/MUxfh07m8DoUL222z+FcmX6HCDyKpsKUisTtj8oOzT25Vni1EMAirrbrdmD7LHnsu4Kvm7lnU97HgykNYQ9GE6rh47kAN1G5UwOa/6IsyyKIALTdKeOtBzXICnKYg37pwlsbikTXzEeK45WmyB7LfUBgC+4rfTDWaWkNMqepbs8Ez7m4UulKjTO8JOCg==;25:I9vo3LgFT4glM9sFUevlCI+7z0fe4h+iGPHSmo6cQPDtwTNUaTBPZH6DqXvH/7PPEAfyqEIHogLkOHAcbWZ5P0iQfS/KogW0ekbnRaEBbuQ+AwsjIu0PEmxaECXJyqIBnR33XvGggD1oSyfQvJ6SZfPfLOfB9+kccJ1qBLHoukhPdLKIx/AXq4VqUi2ghiERue0IX6kNAOY8wJJj9P+5Npl3V+c4KPplmNxlYgvft/JTeyPWIa92IiKAJOUfGfnW X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:BY2PR0201MB0822; X-MS-Office365-Filtering-Correlation-Id: d4eef9ca-4acf-469b-d2bb-08d3180614ce X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0822;20:nmBtToASiJ4eA1BMhHNTXvQerpLdc/LAKuvIs3LILS32NUnpk18EroHao916EFpcy2287R8cYsaG3o0ZY45YH9J0gIMc9dUXK5TUVgo32xVHdSev3eIuedwl4sy7VnUAUa8kz0MV4YNzb+hA134sq0u7FT4KIu7Jsq3T1rdmo7LUxJzFC9yYVm+nKZeZtwnsTSIu7As2FRudd3BNLO+u+ikLkcReVlT+wVWdUjOcx8O2Ns3bSxD9gOnBcYPHokBDe/+v50mgxsx4VULm5mOS+2KnQt5QttH9ovo9Oh+7bQSA1U7MIgLA6VtqaiExdmHG+KpYcM1e3+qdHDdipLdHSwzBU7ISuKb1Q6y492RpXYz5UWwyqUOX1IKyHrjeHVssyZZwilwOIlfwEPFE3IQo+/xBx02OTux4eaV9C4GuUZYHdhEgAGG/jL7YHPi79jOeYMs2emRqyiE+e82PsnoyrTPK9rK/Xfuud+EPgR/a78kHiSM8ihO7lYtvRKEiHoyh;4:4mlV6x2Crfu1+WKuImNNkRs/kCN93KrBIgw3XEeYJwyMLjaMV53h7md/Lm1d3Hrgc/yf2doflIDAPI1ny7o6C5raJ3apGZaTFFcXZFSnMVd0MNvUzf631MP7CaSKb2OJVsakZE8uvYu5cS6D3cMPZ+9fB+svTOWxMmAupDq12N+X+cLRLyWNYTN7QOcmcrZm8080k+HjJyjZdhVdnYuzIcfTqCNvFq3hsMV/2Xxu/rWoglLVw3XmFPJbAU1EceqvDxquqnpb9/e4rIjEK5fxtmlo3EEybCJAsOdnAP9KzoC7wn8kRARWvD/4c8PTPJE1xge4Pf5yDuWrz+sEpeVkJCcEdt5lps17EPbB511GrfTqt+ZIiFhMQ8a3U1nMUrrYudlINaabxTPO4ePTFqSx2YQhTaVtxalVT8wXHZZ+Ark= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(13017025)(5005006)(13015025)(3002001)(10201501046);SRVR:BY2PR0201MB0822;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0201MB0822; X-Forefront-PRVS: 0815F8251E X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAyMDFNQjA4MjI7MjM6dklzNnFlTEZOTDdBcWFRUlpQQ1czWkxQ?= =?utf-8?B?OG91N2hiRVIxWDRKYTR6YXN6a2xxUXRLUEZaV2FDdFVLNnR5MC9MZk02M0lY?= =?utf-8?B?NFFmbjB3eTJQQk9VYUFhaUxnMGl6SWdvcEJId1B0UlFuVGgzWGNYbys4WEt5?= =?utf-8?B?cXpzbGYydDFmSTBKMUNzWlZUZkhuL2RKaU9MN0tsRkdXdUNEdzc5VDEzNXE1?= =?utf-8?B?a0lRK3AzMHFnSy9VTjd0eEMxMGF4WUVDUGk4Q0J0ZVkzM0FLMDZmcWNsTElt?= =?utf-8?B?cnhkNklHVHhZSHVqWHdBWmwvMW9HaHFsRldvU3pEMUM1bEVXOWRPR2JEcVV3?= =?utf-8?B?SldJTURuMTVhalZSTlRYTVZQQWptRkZYNVVTYjR5UkRpeVdWZWt3WDlITmEx?= =?utf-8?B?b1NqS1ZCQ1BRdkpWQVNWSGk5aFdkQnVhRFpqdHgwbjhsdXVadHNWVTV6UDlW?= =?utf-8?B?aFl4K2lWNk9qNk1xMUlEYVBZODhBMHpqY1kyaCtWWDVWQ29adVNpZUZ0bDV4?= =?utf-8?B?cmt3YXBlS2ZpQUNZbXpUOFR1RG95dzF6NmJ3WTZKTE5JS3M0SFhjUFV1b2tp?= =?utf-8?B?WWFPcUtqQlBoaVYzQWRqTzc0TUhZL3BRWDFsWlRYTWJBb0F6ajJoYTZGNjVE?= =?utf-8?B?TTZxMHFYcTcrY3F6ZE9GcDZ5L3d3YkNpNHU5YWc5NnNWYnJMbEJPN0FyRU92?= =?utf-8?B?K0duc2tFVlovVDZEZHUyTHRON204bnRRODNFUzVMSXVhQzg5NEJsdHhRdGly?= =?utf-8?B?WTZlRzIrblJXQ1FOanlrK3RBeStvL2sxWWRQeTRsR3R1T0t3UzB1cEZ5K0N3?= =?utf-8?B?blp4NFJIbVM4M0d5aXBwQ2o1eEM2Sko3MFpVSzBnandrdHhFR3gxSlNGcFlJ?= =?utf-8?B?RmQydFdPQWQrQnA1ZjJGVmtkbGdmZkQ3SGlVcnd3elFXZ1pUOEVCaE9SRmZP?= =?utf-8?B?WnBKNUtFejJGS2ZTbzFUL2pjSUo3VGVjUXBtZitqNWowVWFqVFNkU2JGSm1K?= =?utf-8?B?L3lZSnNzVTVRQStwZEoxQTl6WWkvVFIxREVCR2M5S284cFl3SjFYbE1oaSs5?= =?utf-8?B?Z2ovaURRR1pNN3RUbVFrYTgzY0V0TTlYeGdscGQyMVEyMUFYUXkzTERwVXJI?= =?utf-8?B?V2lrcEVlNHNPRENYWWtvdkQwdzFRYVFqdHRMVjRxbXhFcGIyb3BVQWZ3Um42?= =?utf-8?B?VktTa1VvOFR2VVhwL09DcTBXOVVQL0xnNzNpUk9VeHMyWWk3TkJucS9IanV2?= =?utf-8?B?cURTbUVoS1R3bUpGNmlCYVlZOGlaMkgyUUNFZ0RHaVY0Qi8xMnRuNnZBWEtv?= =?utf-8?B?YXoveEhFSW5TRzlQSVlidCtPS0k3TW1DQWVhQWxkUkgwN2dVL2pkWnVDU2RQ?= =?utf-8?B?RGxEME5JZ0VKV3R3TjIxZ2s5OEc4TWdHSkdOdHREVisvcHk2SHIwTDdkZWVF?= =?utf-8?B?OEs2TmxUdU1JOHRGTTdseVliMUdWYktpYkhLdzZ3TSt1ZTY2bUM3WjZ1cHBL?= =?utf-8?Q?Dp+LL5zGcD3tGIKfO6QRpkgVpEc=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0822;5:Ss8wcmwIdTywZqvArXxGMQhUYd95spd/NvC/QG+KgVznsXAYUiFfTt1Ja6Mc/kXbWl9PNUzmgz2ocFLKawJ1PwUDtcaHCk/Ki8KE+Yb3/aeOg/CfzDNlCFlLst0EI9LSt4pZz//lKQz7zh6vQGf2lg==;24:MrpCe9bW5y5YFi/8FHKGWNRQcYeePvR08W1nb69m2xHq0wEDcWqVfh3AOJqeM0PymKywSka8X71fc6bMC/EyvoiPUKtqglgk8jUTzihrvEg=;20:IVut6HHcUnPEEw1PedQptlFimfRa0Ll/2a6oOvA2saU9K6SNU4NXMF9kHoUeNTfi3JcJoq28/r1fbDMUqjBmtVh2ba89s8NuKpOelE0QNg1KUq+uIRjY5ehUgVzABsV9/JaAq8f/7wK5ZbWxEknDK8SzAG2u/PDEXPvGjxL5UbbmNFaYwRVXvOXswyy6H2Qf0NjDUz8vUZMmisjDfGLYOExH8zoJNkjWpa2n/0RbPOsPPlGvmOubOKb56A0ShO3G SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2016 08:31:17.7201 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d;Ip=[63.163.107.173];Helo=[milsmgep12.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0201MB0822 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/08/2016 09:14 AM, Christoph Hellwig wrote: >> mutex_lock(&tpg->acl_node_mutex); >> acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); >> + /* >> + * Obtain the acl_kref now, which will be dropped upon the >> + * release of se_sess memory within transport_free_session(). >> + */ >> + if (acl) >> + kref_get(&acl->acl_kref); > > І think the comment is highly confusing as it's about one of the > callers, while the function has many. > > I'd suggest you move it to core_tpg_check_initiator_node_acl instead. > > Also I think iscsit_build_sendtargets_response will need a put on > the nacl, otherwise you'll leak references. Indeed. All error paths in all target drivers will have to be modified to avoid that an acl reference leak is triggered if transport_init_session() fails after core_tpg_check_initiator_node_acl() succeeded. Bart.