From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=216.228.121.65; helo=hqemgate16.nvidia.com; envelope-from=ashishsingha@nvidia.com; receiver=edk2-devel@lists.01.org Received: from hqemgate16.nvidia.com (hqemgate16.nvidia.com [216.228.121.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 366E3211A2DA6 for ; Sun, 6 Jan 2019 20:37:38 -0800 (PST) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate16.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Sun, 06 Jan 2019 20:37:14 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Sun, 06 Jan 2019 20:37:37 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Sun, 06 Jan 2019 20:37:37 -0800 Received: from HQMAIL106.nvidia.com (172.18.146.12) by HQMAIL103.nvidia.com (172.20.187.11) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 7 Jan 2019 04:37:36 +0000 Received: from hqnvemgw01.nvidia.com (172.20.150.20) by HQMAIL106.nvidia.com (172.18.146.12) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Mon, 7 Jan 2019 04:37:36 +0000 Received: from ashishsingha-lnx.nvidia.com (Not Verified[10.28.48.147]) by hqnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) id ; Sun, 06 Jan 2019 20:37:36 -0800 From: Ashish Singhal To: CC: Ashish Singhal Date: Sun, 6 Jan 2019 21:37:33 -0700 Message-ID: X-Mailer: git-send-email 2.7.4 X-NVConfidentiality: public MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1546835834; bh=46pyAD4rqdTzQCfH33se8FfT4VgjDkbyyO/cXwc0uYg=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: X-NVConfidentiality:MIME-Version:Content-Type; b=nihlHg7qfvkb+rTuiMYyDDoIZHsEG8KBRi91lYc829yBiGOx77qlEqV/ky+GfVvu4 2vj4RUr5AfLRuGdIGAgsxdZzURVTwShJA7GT+CJzz9YgYxn1mWhXfMMSFjMGJjuNNl FM3TGh5JQwLPvPrnNRioxjNbuLc9G1NgCEQSw0W3sKN1l91lb9g2qyRbgiHuqmGsJM o8/aXpAjRV0JUi2d0NlD7WLVc7T6eMYqh5XjejyV3qPba377bLLvxGyuZQCXYSDqTY NVqs75IsVEd6XAUBzwA6w6zJq+1Ab3ufghsL+xDu6T2xJ1KnETP1pxl6e4gQ1hVAYp qiIybjhJjijug== Subject: [PATCH v3 0/2] Provide UEFILib functions for protocol uninstallation. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2019 04:37:38 -0000 Content-Type: text/plain An issue was seen in IScsiDxe in NetworkPkg where driver cleanup after initialization failure was not done right. Bug 1428 was filed in this regard. As per discussions with Mike, it was also discussed that having UEFILib provide protocol uninstallation abstraction would help to avoid these issues in the future. Bug 1429 was found to track this. The first 2 patches take care of this. Patch number 1 also simplifies the UEFILib protocol installation and uninstallation abstraction by adding a helper function doing operations instead of every public function. Ashish Singhal (2): MdePkg/UefiLib: Abstract driver model protocol uninstallation NetworkPkg/IScsiDxe: Use UEFILib APIs to uninstall protocols. MdePkg/Include/Library/UefiLib.h | 103 +++ MdePkg/Library/UefiLib/UefiDriverModel.c | 1186 ++++++++---------------------- NetworkPkg/IScsiDxe/IScsiDriver.c | 31 +- 3 files changed, 435 insertions(+), 885 deletions(-) -- 2.7.4