Received: by 10.213.65.68 with SMTP id h4csp301963imn; Fri, 23 Mar 2018 05:06:26 -0700 (PDT) X-Google-Smtp-Source: AG47ELuuWSJi6WX1l68Fprbsnfv+t/VSCF3CNYNzmBMf3rAg4LFGpQOrnnwTfMsAOG9kFC/fOlSL X-Received: by 10.99.54.73 with SMTP id d70mr9910532pga.86.1521806786595; Fri, 23 Mar 2018 05:06:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521806786; cv=none; d=google.com; s=arc-20160816; b=dd3QuldzU5G3+xZXYn+5M2R2halWfDCoWMOBs+ZDWomrrVthqdETPtfSg8m/xW23fm Ys71oSzsUtTIkJIT3K2pUpSz0uvCRu2I02hkEfmgC+f1xpq+QGhRpQsdIxvLc7FjEC99 jpTNFTPu72VF9ncyKDh5E1Lqb++vLeWsErRdqDrNVO+Q1X3FzKZeqiGvM2OcjK7++fRa tMzi2SNX9shqgqgltwmIjWxKjkQFXSYevZ7gH55c2bBV/4POgtYSlUgXb8QpD16BHdCh XOvFYTeyMy+lG94pcOx+nJ9VJuh8VVi8kbHtVXCga6D4LjwwROEy29r6vsVp+xJ6noW5 WQXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=OH3iyzhLzvqisTeF8JNDuqmRBdpOeJom6NZUOVsuTss=; b=y1Uw78asB2FF6z0Ts12veK6U0fRXpZxsuGHk7v/SkY0+KN6gDkdiSLlnULu37xMJoq Qp5Iq2drj8GOsZjcjyBqz+kwqNuTubkx/4b8K9GSyCs2l+sDFlZ6xib6siIIQGRozzd6 LB/WyEKbr1NV0xwptF7RRhwHMbwnKJ1ue/2mtlJ8qHKhdrVyuWxSJZtI8ygrhy+5plY2 GsRFifyhCkVEKEYKwkaRduX6pYm/7hiGVjvIcMbyz5q7oNBBKZMnkqoErUn802izN9s0 7vBooE3mSTn9VxKG7Ox4jUjaHSunIUW3B21g5YmNI3wbveFpZQX/QKY99XMQh/0aOt1N hUWQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d17-v6si8140188pls.611.2018.03.23.05.06.11; Fri, 23 Mar 2018 05:06:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753315AbeCWJ7S (ORCPT + 99 others); Fri, 23 Mar 2018 05:59:18 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:36080 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752328AbeCWJ7Q (ORCPT ); Fri, 23 Mar 2018 05:59:16 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 7CA731362; Fri, 23 Mar 2018 09:59:15 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Gary R Hook , PrasannaKumar Muralidharan , Herbert Xu , Sasha Levin Subject: [PATCH 4.15 75/84] hwrng: core - Clean up RNG list when last hwrng is unregistered Date: Fri, 23 Mar 2018 10:54:29 +0100 Message-Id: <20180323095423.243279414@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180323095411.913234798@linuxfoundation.org> References: <20180323095411.913234798@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Gary R Hook [ Upstream commit 0e4b52942b1c76f89e0dcb829f72e123d0678f54 ] 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 Reviewed-by: PrasannaKumar Muralidharan Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/char/hw_random/core.c | 4 ++++ 1 file changed, 4 insertions(+) --- 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;