From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760103AbbKTRtt (ORCPT ); Fri, 20 Nov 2015 12:49:49 -0500 Received: from mail-bn1on0071.outbound.protection.outlook.com ([157.56.110.71]:21668 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751338AbbKTRtq (ORCPT ); Fri, 20 Nov 2015 12:49:46 -0500 Authentication-Results: spf=pass (sender IP is 63.163.107.173) smtp.mailfrom=sandisk.com; infradead.org; dkim=none (message not signed) header.d=none;infradead.org; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac160a69-f79f76d000007db2-55-564f5d369fd7 Subject: Re: [PATCH] Fix a memory leak in scsi_host_dev_release() To: Christoph Hellwig References: <564D0224.9040001@sandisk.com> <20151120115212.GA23875@infradead.org> CC: James Bottomley , "Martin K. Petersen" , Hannes Reinecke , "linux-scsi@vger.kernel.org" , , Greg Kroah-Hartman From: Bart Van Assche Message-ID: <564F5D36.8010402@sandisk.com> Date: Fri, 20 Nov 2015 09:49:42 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151120115212.GA23875@infradead.org> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupjkeLIzCtJLcpLzFFi42JZI8azSNcs1j/M4Pk9JYvmxevZLPYsmsRk cXrCIiaLjf0cFpd3zWGz6L6+g81i+fF/TA7sHtMmnWLz2LxCy2P/3DXsHh+f3mLx2Hy62uPz JrkAtigum5TUnMyy1CJ9uwSujLlbPrAWfGKteNyt3cB4m6WLkZNDQsBE4veGO4wQtpjEhXvr 2boYuTiEBE4wSmzqOMcM4exglFjRdpkNpmPOvztMEIlNjBJHu88wgSSEBRwlls7+DmaLCGhK 3FrezgxiCwkESyw++IAFpIFZYBGTROuidrB9bAJGEt/ezwRKcHDwCmhJ9M42AwmzCKhKLL/e DrZMVCBCYuKEBlYQm1dAUOLkzCdgZ3MKGEt8OXMErJVZwF7iwdYykDCzgLzE9rdzwI6WELjJ KvFh40uoG9QlTi6ZzzSBUWQWklGzENpnIWlfwMi8ilEsNzOnODc9tcDQSK84MS8lszhbLzk/ dxMjOJa4MncwrphkfohRgINRiYe3QdwvTIg1say4MvcQowQHs5II74F3QCHelMTKqtSi/Pii 0pzU4kOM0hwsSuK81i1qYUIC6YklqdmpqQWpRTBZJg5OqQbG4AWr9yyq3nvSP9aHRWlK+40D 4aJ8Nz+5fAw8v/t6qu7qvTdeeqxxdm2p+rpV2N18406NuKO8F99Hbi6WDgnbLHV2nkhBYbfV shjG1rQnn/YmvRJv877k06/G/21nDNe9MO3re593MYU3zizcKBahMd1ih+bWrqdznkxmbLjK 4Jn25R/nYbV9SizFGYmGWsxFxYkA93l4B6ECAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplluLIzCtJLcpLzFFi42Lh2siRomsW6x9m8HCTgEXz4vVsFnsWTWKy OD1hEZPFxn4Oi8u75rBZdF/fwWax/Pg/Jgd2j2mTTrF5bF6h5bF/7hp2j49Pb7F4bD5d7fF5 k1wAWxSXTUpqTmZZapG+XQJXxtwtH1gLPrFWPO7WbmC8zdLFyMkhIWAiMeffHSYIW0ziwr31 bF2MXBxCAhsYJWad7mYHSQgLOEosnf0drEhEQFPi1vJ2ZhBbSCBYYvHBBywgDcwCC5gknuy4 ApZgEzCS+PZ+JlCCg4NXQEuid7YZSJhFQFVi+fV2NhBbVCBCYuKEBlYQm1dAUOLkzCdgB3EK GEt8OXMEzGYWsJW4M3c3M4QtL7H97RzmCYz8s5C0zEJSNgtJ2QJG5lWMYrmZOcW56ZkFhkZ6 xYl5KZnF2XrJ+bmbGMEBzRm1g/H6RPNDjEwcnFINjEV7YqYdOpi+sNrjmhrj9M81s3hTp5/2 Puv0dwfnzyYLQbtXVzttP00XbPFIrZjW8NZ2Y8CWRamv3zIp8+z74/tANXhjdEyNo57LGx2+ UkUxnann/oTq7Ck4Fjb16rHmiR83H54/i/ntwyLXrENpRRt9HYU+cngkN3sJqJU72lZXZgTl a++MUGIpzkg01GIuKk4EAN24Hd8YAgAA X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD040;1:NHCd73OGhVJtrz+aRWGi6+HDBPjt7CQ9zJb5Mn4aYOHQnh5FJ/Q2DzNuFIRr78ViGP6Xc987Ppmd/rhNQ8bbF9Yfp4/S1zsZkmgnyf9MCojCuPsjbO4hhclJ0SHLyl7Wzv6OapHBi8FK0MX+Vb+0eXI9zU+9zyDKTit2fse2LdvZtBq5ZlRBgyN4EI1TV1D8mHG/IRM0S31QtNsI7wQzCujy1y+FsjYAty2um1019UNXPfWmjGnqLtJ4Hws1ZaZQJZKBvGCgFJCoMHph3Gg2QFUxmlg1rRgmw5YoacYLV/LyRJjlSKx7cY4rmGnG+gAzrxgD+GbCvX3LyoiS9nxPYI8ZOz1kGY6Kyk6CU4DrroU= X-Forefront-Antispam-Report: CIP:63.163.107.173;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(479174004)(189002)(199003)(377454003)(51914003)(24454002)(97736004)(86362001)(106466001)(76176999)(33656002)(87266999)(65806001)(65816999)(54356999)(5007970100001)(23746002)(65956001)(50466002)(11100500001)(5008740100001)(189998001)(47776003)(36756003)(2950100001)(64126003)(5001920100001)(87936001)(81156007)(80316001)(4001350100001)(83506001)(59896002)(5001960100002)(92566002)(50986999)(230700001)(110136002)(586003)(77096005)(69596002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0201MB1578;H:milsmgep12.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1578;2:DKYUBnsmxCd18dB/g9JNRBxP/SMeiU4ujyjMLT2v9oNT5efy8/MpdflQGhEhahxRrLrzCpiUT8qnsyuYVb2fdARJsA4xnqKObHyMAYd75u0e7Q9LYwOy0j4WVZS+1UCwxB35Uv6cMhSrNBd7rk6/ERZd1VRTkuQZk8c+6Ltjoug=;3:kZOfAUQOTxQIwgNTgWAJhbLjauwZn7F6WER/LWT6EFKtcZ2SbOEJThFzQXQGYKzVr5eCXAyKfs76JTJnxhUkimLGuOgVS6VY7px/2FXtd67E/mGb8Wby1XiZmtV7nCM1u709ihfs9zV40alhWbrOYmkW7ZoNklcqCowTRL06vVWKfmExfjhujJxxQu9Sros3nr9AMnBOcfcQ+CZII51Mx4Z3wLOgyoS6AAjd6PrAxFivYH+Y9LtcmzKVUVd/axsgrRCMc0SlbHGGbadDwRj4QA==;25:42FuI//+W0B2TBQW/PyJwDFOen/0upmhRemEDZDSzz/DNgkgOgUq/HbM4oFEfqBDtu7i/oUES9JVapMOhWhiv/1RpRyVZ3j/KGiF9u06IVI9yiOPpSZ67g05rfNxzgeeeqCabQj5AZzGMBh5bQwFZ4YaDSKbczNjU96RDb/aVRS49AMzofe/fnqGbibDcbNfQW8lOrVZ3jrjXAmbmjyIQ6ZMVWSHIFDgpDxOcNlRVSmeGAUr4ksmK9zkJMLDIqbO X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:CY1PR0201MB1578; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1578;20:1ndEm64+nrCQ4TBqPZssRifv/7fJbKqHAMDmSRiw2khDe8Ax1NVaL0xZmnTR0HH79orXCtOZpaeWR3S8cZBlUCLspU1wnL0gDlp4crXap+sOH8e+uI69i9HQC3Q2b0CzTgGJZCgnJk5Doje3+G0ZeVihsEYYBmjoQclYcxXk+6Mw5e7rtCfi83nscG7ChUUUWDf1o/WZX50MkNVqekx810Ga4Lluxv0bIhHa+LvGsKfKpxHrf3wxDqpPuk0J+O9meM++uFLSJKhJZLsgrFYygP6YmEUJD5Qr6hojF6OAgtIboGc/k10PgxRwjz9dAwK7LCor8VtRzOLNO9Lv6DB4j2ZcDwdLZCydCczA9G3gy9duL/BprcUKj13piutkpHFHfFJM+GZ5/6D3EDRvLXsasALFqJBj3eDl4isoKiWFvjEoXxd/nELjbUajWX+7lO1IGhHaj9dXnCbeiLHDQ10iM4Sypwa7Xkp+EoaTvS0WpJW+akrR/1lXsk+eQ66iR68v;4:R1x20eEvyGpyT59ijBYpC7XkTYQDkLB3JG733MggSKosfShIW4ujQ5MFkxvBcIR6JvMlaTHq9VvMSdoEILgcy5lMiCKpLGP62Q4RHYhPVc4yhbcRkiOStd7NIrh67UGuLugWngVsMpbQGhUwiZu6+QlJbXBPr07fqhygj2u/B1OT7/DTfpa+0I+HUeOjlR7XltO6VtCxR83aT7ggQqWzqUuwzoMrxIQaIFc2ZshOMm7Zvg1ja1aIZZ11MLe/Aw8jrZCk3pfmPds25RPYIGj8ZhSydmTQjsmcUWPWqqVG3tRJrftfQ/KEFP4+MJEgRgckIYIU9hNzATwEI/Y55bly7TdIKEjhflv3WJmBU7Ps9n8cBIjQIOSTcejN0zZe14Uw 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)(5005006)(10201501046)(3002001);SRVR:CY1PR0201MB1578;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1578; X-Forefront-PRVS: 07665BE9D1 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY1PR0201MB1578;23:4abnFvtFWLjaaZdZ4kCad7LSR870OxvLf9q?= =?Windows-1252?Q?HQPylaEpwXU2JdR+QlyJkFv6Cv8CJYONWGM7ScXb1TjzhRlbpBGD0gtU?= =?Windows-1252?Q?AjBpZ5B8SrvHB1jnwkduN1kDgMPFKfwBARfCC/Bnpcbi/CrA2ETDj/mL?= =?Windows-1252?Q?ytSKBtkYdVjPq7J5Vjv8whXBcmH34M2q0SKhM7ttj2iokTPNqx6SJR0p?= =?Windows-1252?Q?Q3JNlyacPYOVyIyKFAJJduKIAsPVDgOacr6CnFRDmChggqhuCBZH0aHV?= =?Windows-1252?Q?gg8A9Mbyr1vPORAQmh0odkXojhUXeErsuZu/5MmemhIxPYAxbz2g9vnY?= =?Windows-1252?Q?8p2q9V9bN7NdhP87gDHSgvYKTU1pRjqEkiptp3yibKHAIPw3m97BR1XI?= =?Windows-1252?Q?VoXc9CAnz/aGFMxj7IYiKYxwGBLDlW6ao4pmw3owo3UQzoXTP4FSVBMH?= =?Windows-1252?Q?Poz9icnedGBQod7I4sWwZA/CVW86aVI5S04A4PAez+dpksBrMvT5Mzqr?= =?Windows-1252?Q?jh581d/WqDWTmyaVGgmSqZkGPR23iHy2n7l/oBPA0kSDjRTbEFbo4nxH?= =?Windows-1252?Q?ajj/MJ16wW8bUAFeht3j29ELvg75MvNHL+/k0/GRe65V7Qlgs7XsD271?= =?Windows-1252?Q?xxwXnAUJhPA/62qcajIlxT4K8uh1g4wFNG09l/MSBpFbke/mV0HBzBD6?= =?Windows-1252?Q?fGMJeLNmNwq3z/3TnbBGqx8WRJvCAhg2//JU1+h0vxtfGhvxtf7Afe+E?= =?Windows-1252?Q?aV+6rsJNGBWrBmdSDSfWiKHUzHue+eiT58Nt0a7xnrqH5DRDZ2lwv4gE?= =?Windows-1252?Q?UG4j2zWl0P6aIWuLGlA0E0phHaIBgH8GuRKIWOhKNhdliEtO/h3S515W?= =?Windows-1252?Q?IMVEvLyDe7Xg816NEcs20kA7+i1Ii8Fm6e07+t9cdhkAK/QyyOrulbwz?= =?Windows-1252?Q?qPsgTfCqxafOPD2ulJCGaRYuJOnaQUHi4WUKsjMF2DerlvXoJZW1oafs?= =?Windows-1252?Q?YqWwzGshj/CCsE3Pd/qJxV5hgEVG3PjmGfCIzUdGcTWFkUeUkPfzVA2l?= =?Windows-1252?Q?EjYpHQET7AikTo0U/y4RK4jpjck7yCTqXaih1cvz395QZP+lpA+Uwgdz?= =?Windows-1252?Q?uQIYVVfdXGc4jDnlShdLeYbXdaKCt5SdPQ/38NuXeww+EOdVFVhVt+SE?= =?Windows-1252?Q?+iuSSDXE/CR2/0zW8/NmBlClInRSq6B2rmwerZ+f1OUwY3fdA/is/UBb?= =?Windows-1252?Q?BXk9RkPvPcYryAANfyw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1578;5:3NyY4cvp9NaUPUGsXDlYncVcQkK8U0rTXa4U7NQ3f6vCF3+Gy8Mycq07h3yfgaZ2yJWhfkk4R4QcwajdETgFcPWukKogYqbdb4tFY7OYl2RrxipZNnj6jnESuhCoIc9IKMXUDOSSd7PAI6OsPaUomA==;24:MuBSevYDs/ongdEES9k7X4mYzPiZGEPMz5CEwK5q61/V8brmy7UG6mEFaCzw4dNpuflkYF/sSKnLkcL82V778xi8Zhz+XAhT+c+kxbu25tY=;20:cyxjsTZBLJ8nmepeu8LPEdSLoF9MnAQweUXDqbEnE1B2JorNyWhfB1pkoVQnvrnc7SOLPRNWC/HDQeaknpmjDT5uYGCZzUlBYwD/ju7djs0wWxplocMNhC+ASlCbZtvsTbn940fYO5VaMQVVEMif7bGUjnoKFhAXl/AzbsbzUfx4vJFgs2ws2nV2a3KsQBIDSz02QVS67cmCsxDLN+xYgUGK61tTtDqS+0w+JEYiIr+vVvk1lVX/6usbCfTm5B3i SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2015 17:49:42.7733 (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: CY1PR0201MB1578 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/20/2015 03:52 AM, Christoph Hellwig wrote: > the memory leak looks real, and your fix looks corret, but I still > don't like it. > > I think it's reasonable for SCSI to assume that the final put_device > fully frees the struct device including the name pointer that is > assigned entirely behind the back of the caller. > > So I think the fix for this probably should be in the driver core. Hello Christoph, Thanks for the feedback. However, I'm not sure this can be fixed by modifying the driver core. If scsi_host_remove() is not called the SCSI core doesn't call put_device(&shost->shost_dev). I will post a second version of this patch that ensures that the SCSI core always calls put_device(&shost->shost_dev). Bart.