Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1325655ybz; Thu, 16 Apr 2020 07:15:31 -0700 (PDT) X-Google-Smtp-Source: APiQypIW0ppVc7Ldu2W87BqskHCAihowtI/qUuEDUhaIb2swVIZ3j82IgBISzPTIHSzqV+ndxT0V X-Received: by 2002:a05:6402:1766:: with SMTP id da6mr2577283edb.119.1587046531425; Thu, 16 Apr 2020 07:15:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587046531; cv=none; d=google.com; s=arc-20160816; b=af/APVPADvjnii8fEAGVH+U/Qwnu+nE5D+SeAhI3H+uQKmdVjhtLYKIXFcIK2wyI7U wlVI5EsqUrez9enpApEE521mkdftXeo/jIuBH6H7kH8QKuE3gnjKcvlfvjPqVr+pKJnx DYdExktejfl4zqwKfMmshaCKMk6YNFG4lv5soiazvWUQ/MlsO+24JKw7fcL/BiQDK2dJ wNbhTbYwWKLDOHUC4FHUKmS5xgXJvvx8WCHFWN4ugpPYuYv3mO9jpGgc6vqlUYhoJG0K lszFs4yE1IgGkheAUlc+e6N8Hzo/SCJ/7bh6KuNX/9Ghp85BmmXj4TGo+aK8YTgmD7Oh Y0Ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Ofuhsn2Vby/zVXoa0VzpcpD6hOxnR2GvprRsY1CLqkE=; b=ik1a/6iJkaClSvaSfKrCtmVkST2Zrxe9KmrLces4Lm0CrfCm3Se+bD/VgrFEK0rIHk e6eg4pdEVwiTUNlFWcJSTXnHVoeFnJpYEdqORyh1L9TuvtMF90moxgKACiUV81p10MHF wfp7hCAhMnHaV2PXNCtEsldZlXSqyQpMlEpIJ1tLP8Jxw5au00KC2QUt67D5Fliy1jut tpXJYAltBESNXa8Ja/tsiC3XAGZFekYakh+2V6pS6QkHuvuHfrkxjm6W5YUVX0wfG2uV Ea5SPyvHMon4RdhclD6/BpMA5hVhTizJ2fWqg3PvFfU4M7lqNiAfi5IX8M/8ni3AUrF4 kUBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sx22Mb+q; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l13si8678149edi.509.2020.04.16.07.15.08; Thu, 16 Apr 2020 07:15:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sx22Mb+q; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2438113AbgDPOM5 (ORCPT + 99 others); Thu, 16 Apr 2020 10:12:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:34380 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2896279AbgDPNsW (ORCPT ); Thu, 16 Apr 2020 09:48:22 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6E45421734; Thu, 16 Apr 2020 13:48:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587044901; bh=YTCURO/wpL4mZgGhN38MtVtgTdD2kwxE6Zl9cpyaaFg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sx22Mb+qVELmYWnNOyGxSBMxPq413lt9HNBsxBlneyoxL+y/uwnDm+2sjFgtkvlO8 r+J034ZFq6bBWnVvLaKDmEz8RMKP5SshOl7Ys9zetvwBe/sg4Awc3fRigBum8pqZVL DYTTOVivlRGz1wTkTi4/OiZjddEquvNF4AExDiCM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Carpenter , Neil Horman , Herbert Xu Subject: [PATCH 5.4 149/232] crypto: rng - Fix a refcounting bug in crypto_rng_reset() Date: Thu, 16 Apr 2020 15:24:03 +0200 Message-Id: <20200416131333.644960771@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200416131316.640996080@linuxfoundation.org> References: <20200416131316.640996080@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dan Carpenter commit eed74b3eba9eda36d155c11a12b2b4b50c67c1d8 upstream. We need to decrement this refcounter on these error paths. Fixes: f7d76e05d058 ("crypto: user - fix use_after_free of struct xxx_request") Cc: Signed-off-by: Dan Carpenter Acked-by: Neil Horman Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- crypto/rng.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) --- a/crypto/rng.c +++ b/crypto/rng.c @@ -37,12 +37,16 @@ int crypto_rng_reset(struct crypto_rng * crypto_stats_get(alg); if (!seed && slen) { buf = kmalloc(slen, GFP_KERNEL); - if (!buf) + if (!buf) { + crypto_alg_put(alg); return -ENOMEM; + } err = get_random_bytes_wait(buf, slen); - if (err) + if (err) { + crypto_alg_put(alg); goto out; + } seed = buf; }