Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752751AbbLNQIh (ORCPT ); Mon, 14 Dec 2015 11:08:37 -0500 Received: from smtp02.citrix.com ([66.165.176.63]:36284 "EHLO SMTP02.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751797AbbLNQIf (ORCPT ); Mon, 14 Dec 2015 11:08:35 -0500 X-IronPort-AV: E=Sophos;i="5.20,427,1444694400"; d="scan'208";a="324915132" Message-ID: <566EE96D.7090106@citrix.com> Date: Mon, 14 Dec 2015 16:08:13 +0000 From: David Vrabel User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0 MIME-Version: 1.0 To: Doug Goldstein , David Vrabel , CC: Wei Liu , Jonathan Creekmore , , Paul Durrant , Boris Ostrovsky Subject: Re: [Xen-devel] [PATCH] xen-pciback: fix up cleanup path when alloc fails References: <1448569959-7245-1-git-send-email-cardoe@cardoe.com> <565EC964.3020006@citrix.com> <565F0681.8070905@cardoe.com> In-Reply-To: <565F0681.8070905@cardoe.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-DLP: MIA1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1388 Lines: 41 On 02/12/15 14:56, Doug Goldstein wrote: > On 12/2/15 4:35 AM, David Vrabel wrote: >> On 26/11/15 20:32, Doug Goldstein wrote: >>> When allocating a pciback device fails, avoid the possibility of a >>> use after free. >> >> We should not require clearing drvdata for correctness. We should >> ensure we retain drvdata for as long as it is needed. >> >> I note that pcistub_device_release() has: >> >> kfree(dev_data); >> pci_set_drvdata(dev, NULL); >> >> /* Clean-up the device */ >> xen_pcibk_config_free_dyn_fields(dev); >> xen_pcibk_config_free_dev(dev); >> >> Which should (at a minimum) be reordered to move the kfree(dev_data) to >> after the calls that require it >> >> David >> > > I apologize but at this point I'm confused at what action I should be > taking. Are you saying NACK to the original patch and suggesting this as > the replacement? Or saying that this should be done in addition to the > original patch? I'm suggesting that the goal should be to remove all pci_set_drvdata(dev, NULL) calls and have pciback work correctly without them. Konrad's the pciback maintainer though so I'll defer to him on this. David -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/