From patchwork Tue Dec 12 22:19:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary R Hook X-Patchwork-Id: 10108367 X-Patchwork-Delegate: herbert@gondor.apana.org.au Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A5E576032B for ; Tue, 12 Dec 2017 22:19:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 902D229122 for ; Tue, 12 Dec 2017 22:19:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 80C682918F; Tue, 12 Dec 2017 22:19:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A558929122 for ; Tue, 12 Dec 2017 22:19:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752645AbdLLWTp (ORCPT ); Tue, 12 Dec 2017 17:19:45 -0500 Received: from mail-sn1nam02on0070.outbound.protection.outlook.com ([104.47.36.70]:55814 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752320AbdLLWTo (ORCPT ); Tue, 12 Dec 2017 17:19:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=KjnpyWDpQaIom6NdgexhIJ+uOqkxDtTlMKvos8a1o/E=; b=S3BIWOjtYEYm3gzOuCHZLUfEn74oXf3T383At8Upl6TmTHnenXSPxPzAU2N5/ReyHu1CsHE2g+RXGu8s2lgxxNM+BwK1WXE6sXSDBytHhFv5ckYTHnbMORstAzeJyqfnbMWWr+I1uOJb6MVZJuHxdGv6cLMI9VNEe5F70DFfmS4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Gary.Hook@amd.com; Received: from sosxen2.amd.com (165.204.78.1) by CY4PR12MB1205.namprd12.prod.outlook.com (10.168.164.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Tue, 12 Dec 2017 22:19:41 +0000 Subject: [PATCH] hwrng: Clean up RNG list when last hwrng is unregisterd From: Gary R Hook To: linux-crypto@vger.kernel.org Cc: thomas.lendacky@amd.com, prasannatsmkumar@gmail.com, herbert@gondor.apana.org.au, davem@davemloft.net Date: Tue, 12 Dec 2017 16:19:38 -0600 Message-ID: <151311717859.2551.8429053600468961607.stgit@sosxen2.amd.com> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR18CA0066.namprd18.prod.outlook.com (10.173.57.156) To CY4PR12MB1205.namprd12.prod.outlook.com (10.168.164.149) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: a1d9eec3-f6bb-46b2-428f-08d541ae70ed X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307); SRVR:CY4PR12MB1205; X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1205; 3:YXg4jya3sUWUK8aduMOBPCIyA8DtO8CP+WafdqCo/2vY10nJzi9J4qMOuksNm5PFbVwQ4CNPT4OUBiq5Soq6AFPyi4CeOX1rjo4ABSJZY7vFONyTI+5KzJgQPx6+zR3dU8qC8ogbv7MHS5j11J1NX+uSxv3UfRhrU6OYsWcJYUmQTa+k8jx4z8I4nd/hvqjhA0TtbEpdEG7jtKuCp8m+fuhTMnq/DrNWGW3GG84U/m8udnuObVVRVIcTFuW7cBWw; 25:ggaz4OLcD9EKDqfu8PXXvzFM7b17c55IJwpAgTH9c1WoELywoAagYiTiGG/O/QSZEvJ3CFqkAph1f7m/68EB2+SCH9FYFSFOAQ5Dah61UMZvP9BzB0QLrg4S/IRoy4eA7DycqzRTtwiZ0gRbXaM6eSTJl/8ZWMs4GfXxKaRKeZgFXwXlKnXM4KOj8Eme02FeWI3Gc1OxfCjyKB+gFLxh/IP5AR3olhdcyqo957/KuMY1Tk6QuVkkX3idtv3XypfI+QdpTDqFQN3b9HEw12k9kuHk8wNEpl5Sf/izB4FHNILfelh9h8NJaiWbMgSJCt1VERvFM1RThD+1Gu8pOrex2g==; 31:hIz3tjHiuN5Le9RHk7Gwr2s3huqETeCLvVJsveMrmXspg6+khcccvVNIIdytdernlOJnr7cIZiYzpiuYageF74SaeK7zfDgIC2/AOzp0F9881Zh41Fyklj8EaUB5Xl1ZMRE39wsAem6ASXo26rcTUBC7V/ZkJTneW9BIoPcJs/dj1kh/6Ivpt3KvqtKzk2wv5hFXuI6HNn7h/U/KU/a8r40hR1ZbkMLbAdihq8AmSNc= X-MS-TrafficTypeDiagnostic: CY4PR12MB1205: X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1205; 20:JVIU1hFqF7MLnndYNuEaFHFC/+DiM1XXd4E+qzY2QJZgpdRq5aT8Re7x1EUH3vjLr8+hzRpG/6ozWOmWmBD7RE3tknA1txdEs+8wVLiudn5qe/D3pwVoJyeh3BPWhuqxkcHOISBKu9iCEPtHyjydMHnO/W4XaRNj5pIUwxX9PhWLYQ4Tr3CyXbsw/Gd0NUTRRQL1oIizmJVOE4WOK+XM0PvqOLBsJgvpHnETJxMKWxCU9WT1Ne6nOxEoNNMHNIqAx3JdZJ4ux+HoRuWbeJM4I+LW9fXvXPFbLhC/H4dHej+g5dKo/sZwZCKsZ61SDAoh3Fud6yML2cu/OlZtUSNpAHKpojKCqNKvizhfEDnmG9b807a4TRbr9mVfMjQ2AVUxbUIU4LY01uPGQSUAngI2lox1jkUcUEwmGwTXVzbbI1bkf3wYKY790BoTB/pWgL8FDkJ55DfzhcISqR5zlZWm/BP8CTs3trCOV3VfqVmu9t9SctnIZi1ldmiVOEvfbbPm; 4:Uc/aBHAO2Dd2AOBu1A5Cxu0selo1eiYUoag5levzs8WyvcmtNRKO+v5tgXTvYs774t7DItGDvxz4gQ2gqLQK8ap0zGkdmDCH9LsDmHaOivKvlAiRhWxoQddyrW5X3UsPsC2NvHHSgqciQzi1QWs4ngWXOyUprMPryqaerADMN/mF3oArtE6oAT2lIxxnz2eLI3XZm+o3bmNLa8s0EhOXNnXBqW1McedapIjWhm7S8tRidsrgTJN86tuhoMu1rgXoj8Dw4Fqfh5txznujtRwhCT6cxIyFay8V6dafUnfERTPrND9UpAdlUmNYUUXs5DlN X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(3002001)(3231023)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123562025)(20161123555025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011); SRVR:CY4PR12MB1205; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY4PR12MB1205; X-Forefront-PRVS: 051900244E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(346002)(366004)(39860400002)(199004)(189003)(2906002)(81166006)(81156014)(8676002)(55016002)(25786009)(50466002)(23676004)(7736002)(5660300001)(2486003)(230700001)(575784001)(86362001)(16526018)(305945005)(4326008)(2351001)(52116002)(58126008)(39060400002)(316002)(83506002)(478600001)(47776003)(6666003)(105586002)(6916009)(66066001)(106356001)(53936002)(68736007)(2361001)(8936002)(103116003)(7696005)(3846002)(6116002)(53416004)(97736004)(72206003)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1205; H:sosxen2.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMjA1OzIzOldMN1RvaUJQUzRMUDJhOHJGektrOXhTekxE?= =?utf-8?B?N0p2ZDZwRjNtNW9XOUFEcGlmSEx0WjhVWXpWMFEwcUFkTTdKZkpMWlB3OVQ4?= =?utf-8?B?YkxEU0VKS00yUXVLaDhoRkp4VkF1Si9PTzU5TU4rdU84V3lPR0w3d3RINytr?= =?utf-8?B?VFBTbWF1Y0Iyb2dZZFpZeEJUSVkvekNoZ0lidE9oTEEwZmdLQmY5dno4VFY1?= =?utf-8?B?bDJnK2Q0b3c5a2F4TC9Gb3hLWllWWlY1NXVPNGxoZFRsbEwyQmVDQkp4L1RU?= =?utf-8?B?Z2d0TWgvZUxwR3BKRDZ2NlVyWFdOQUgwQW5WZ0djSjZSZVk4Vm5ad2F4UXJT?= =?utf-8?B?a0hxa0hDNStLV3BqV0FseUtwdGhrdWY1SWpnOHdOZUEzcGUwSEErYTh2TFdl?= =?utf-8?B?cCtMVHFCUmp6SXQ2bXJCbUxhM1JIb0k0c05kTGZxNVFIT005YzJZMlBSdTBl?= =?utf-8?B?NkNqVXE5RklNT0JxWmlxTk90Vkg4Zyt4SmZodWJJMEh0c3FNNUF1SDRkcHVZ?= =?utf-8?B?NDFPQnlkZ1VJVEEveFFVL0lHSjFvdWI3UVJvMThadGtUeW9mWi9lTnI4KzZX?= =?utf-8?B?MTJjNE1YZEZRVTVwdElzWjFqSXY4bUpKNHJxZ2tXY1NpT3FoVTNCVndyOFVp?= =?utf-8?B?TmZrQ2Z4cUJFbHRJMTFrbGtKM2x1K3B1TVNWVnRKamQrT0h5bWhEQVYxZTdr?= =?utf-8?B?b1p4eUZYZkVwRXkxL1EvR3hWdWdmTklSTkMreXdiM2lmakQyZGwrWHFhOE9z?= =?utf-8?B?d280bkYwelRwUWJRMis4MEN1eHpvcURJOTQreXhIQ3g4M25CMkF1bXJ6M0hT?= =?utf-8?B?R2RLWkRsTUEvSWhvbVcyc1RiWG9TMnJKVFlDcmRGNi92REYrQ2xISTJnR1Vl?= =?utf-8?B?SUJ6ZVA3cTUweERpOHpLV25ZQ01YWldaSWk3WStBOUNNamQ1ZHUraUJuYTFr?= =?utf-8?B?cmowRHVDZ3VmTjc3UzAzcnJKb1JIc09wTWtGMDJvdndsVzNSVWMvZGRWL1Nm?= =?utf-8?B?eTZUaG9OV2hDeFMxaGc4Q0dRS0hIRkRhZ2kvTWcxQUlWNVRuNGN5eUI5V1VK?= =?utf-8?B?ZWhzbGFydmh4QzVFOHQ3S1NmdGhnSzcrVGJ3OUhtbjQxcSszUjJ3ZGd2cWZy?= =?utf-8?B?RVZjd3NoSzFxUDdBbzhJUDhiWHVqZFg2OEtVM1Y1QUxxMFdSUlNyR1d3V0tD?= =?utf-8?B?dk0zaXJJb1BBTnFVVzZSNGNXbTJWQVdqN296Zm1YYzEzVjNXbXpiTWVVZzhw?= =?utf-8?B?M1hxbUc3VXEyMitiNm02NmZ0ckpUbXFDU0ZoeHVIL084WVVCK0pMVTBtOThx?= =?utf-8?B?ai9YTGZKNTRGNlNVMlN0U09wbEcrcUdrNE1zcGxudmxielRaY2hzREowWHJX?= =?utf-8?B?ZkE4N1N6Ti8yV0VhSzY1MEtIN1FqVTJFUkJ6dG9rSCt6QU5XaVJMOUpFdWdr?= =?utf-8?B?dGN5N0p1SWNQQzBKWjNIR2d1MERyR2hqNXo4bkdabVZPZ3Z1dlphY1ZqWEU5?= =?utf-8?Q?unjv09rJxAACIc+ynLVnfxe4g=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1205; 6:bH0MJpeBQN7YiF8pnfMQepUrP3TVKCe+SMhv6mrPCrTpks5aW+xG+MWwhMQ+v/mrK3tD/Y46hG/SrCS78RcWRS4rwnD4VdOVJrWov9WBbjNtUtHWi+xPayFkVXw1DEzQWjga68xbi9OurnzS6N61ZDuIooXFSSoW1ukwQ0DN/YBaLjBIUDP+6fDpJ+4UN23ZgA6hjnO1di8sSUxcI2qoFCnrx+uqJ6nPQ1inwHQGs6zDu9mp3R+sZKKqbFqYKgilPKI2gzd/ObKpkMstZbBHO7kVpLNFUiueWlZUkl8k0QkisE0mwYvCf8D8FOsZ1fV88jwoHWFiMFGtv9qHaYQ5yYD0ZWlr4dEWjIY85s0t2AQ=; 5:ZVgy5Oq3sXi1aGIh+U0hP0Nlu+FlLA4r/1mH78BlLrq+7z4RUF3sxTEqHis6trRQzrd8o4MG6Ypi86yRgE9Hc2sIGbsjqbhwARluu1QIXuiyo9oLv7QR2aR6E+VM92bzIbQseQn/0q5uI1uRLINvkFv3TFr8MOKwSThUM2Xpq2w=; 24:VzWK9pEKgKfCNZ8dKXqDzZhxDZCjRdM1tUycfNEw7WVBWlKTJWAsav1xMNwmWirQmIAh5/O2Y5g2W3VVd//c896G3kzToynUwi+RR7Hzoyc=; 7:akUgmGc3fKPGZglJ8MTN4Pfhpksf00QWv7riWhmP3592FK4uGPgPeTCFQt1jDZUu1O9K2Lq9BcCuBLIED1iX3d7Tq4vUNFHU6XuV5uJKqne/pQokoF0JGvQdWJnZSjjHXxolzT6pIGyMg7GTdVK9adkWUgCNoPWwpN4wAd4IUcerBQolrDw+BZqWBpHRymwvBdm0NW7nqzg6vHieu6l/HpKEkYfWpSYiJd2s1jQebiKlvjuJGSyuYzrPMBuCetO5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1205; 20:DUtOa6eBxPgqg8tih0XpL2/1Evajg4auAf7Q+EuvPYUl0VncZIpQzLWqL7AfVef/k6bCzX9hTO3c9bHVxSdTCiFTS0LwaWVdLDkNSC9RLvvj8goCSRIQMyREMPh8qc0goHCeWQYxs7tFYQhGYEDN5z1ijjKN503K501+4Kg9T3INXiGWbz4rZMLqV7VyhmboNLMYZFs1f+M72a/p+NWJTSrBC+fCQUPtgf1jIqbDtWdEdZK+M3zrm4xCMtcUIKJ6 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2017 22:19:41.4067 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a1d9eec3-f6bb-46b2-428f-08d541ae70ed X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1205 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Commit 142a27f0a731 added support for a "best" RNG, and in doing so introduced a hang from rmmod/modprobe -r when the last RNG on the list was unloaded. When the hwrng list is depleted, return the global variables to their original state and decrement all references to the object. Fixes: 142a27f0a731 ("hwrng: core - Reset user selected rng by writing "" to rng_current") Signed-off-by: Gary R Hook --- drivers/char/hw_random/core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c index 657b8770b6b9..91bb98c42a1c 100644 --- a/drivers/char/hw_random/core.c +++ b/drivers/char/hw_random/core.c @@ -306,6 +306,10 @@ static int enable_best_rng(void) ret = ((new_rng == current_rng) ? 0 : set_current_rng(new_rng)); if (!ret) cur_rng_set_by_user = 0; + } else { + drop_current_rng(); + cur_rng_set_by_user = 0; + ret = 0; } return ret;