Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4643332pxj; Wed, 12 May 2021 09:55:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyOT5IUfpO3i4OLRKTqRTSp8IRCiFdDvMUMZ4JF19SE+Hf++T8L+JQcrnzEw8Z0D6iCtAs/ X-Received: by 2002:aa7:de9a:: with SMTP id j26mr21834415edv.269.1620838521424; Wed, 12 May 2021 09:55:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620838521; cv=none; d=google.com; s=arc-20160816; b=vBzLNBk0iIozaUG7DYC7Jzq6qwhmvNU/0wrV6ez+Ky+tDtShNjzDcY+dRTr5lhvKGc F2ILnX6vydgDKl7CMAbdn2VH/w78HzxrkII7qolD9a6lTTfxuw+cDU4aURiuRmqtJh1C lsf3vusmhMguNiNmmp2Gv2iN7oLLJXD+4mhSYKnbv1X5/29jSTPkOiz221s4VNxnc4DY Op/h37Y9gTruVgPnj/Z47csHLRYbj22Mby7su9FvTiz6B2yZU3rl2qbmS2WUfDSnyqgT jGiNsBY3FRIiJopknSNX9W7xPn3PFbDQkf+tUP3Rx/MxbdJWDPxr97UqBj7DK+A6IhbB snQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Twv61ziVdOUdJQ5RPul7y6tv8yyAsPbZX2T+MsFNb6U=; b=jQcPe8bo1PmqWJh6L/Mw75IXgVg2WEK5htmssWOewLFcO/2P3BzLRbI/1Vu4geizSi cSVhpiIdiqM0dyF0CgDpgBvVfPe7kd3BTr3CDSLfn9jexCpkxc2luaxYpgfCfbvRlYdt mHDWGjgHpSptESMwa67hF8Y+R6mKWd96lTppXv3+HmshtFHFBxQMF4gKEhjLHCWRYDZl fGuw3PBf+YGBRRsbZ8fbKcUaw5uHZ4OONA639jnvjWTyO1tVnWFrWbIEl/prwQn+2C0a q28VlctV0tbH3nLaBBtm0B3ve+7B5LJZzChlg6P2ASBzRzKoNNSNdrg66g/W/03svciz Vlgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=fM7ex1O+; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e4si472583ejy.302.2021.05.12.09.54.51; Wed, 12 May 2021 09:55:21 -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=@linuxfoundation.org header.s=korg header.b=fM7ex1O+; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232338AbhELQx3 (ORCPT + 99 others); Wed, 12 May 2021 12:53:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:50900 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234051AbhELPxJ (ORCPT ); Wed, 12 May 2021 11:53:09 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id BCFD161A24; Wed, 12 May 2021 15:27:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620833224; bh=No3I5fTYlDKVkL3hnx+GK58XJViM+Mv6NLjpegAYq1w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fM7ex1O+z04CjYWOGDbcKNoBYFGXx0K/fWw9V2P/e8IZZQ3OZTTWsumFQuUEoAPjw NLY7uuR6gHkTfcQX1T/XnooFc5jXJGRszftlycVlsrmq7iLP9bWJpfz4LszIRvnF1j ezPrH6MGVPWBdEsObfuwSick1Vw6IJ3g3YZZKy+c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lukasz Luba , Chanwoo Choi Subject: [PATCH 5.11 032/601] PM / devfreq: Unlock mutex and free devfreq struct in error path Date: Wed, 12 May 2021 16:41:49 +0200 Message-Id: <20210512144828.882267723@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144827.811958675@linuxfoundation.org> References: <20210512144827.811958675@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Lukasz Luba commit 8b50a7995770d41a2e8d9c422cd2882aca0dedd2 upstream. The devfreq->lock is held for time of setup. Release the lock in the error path, before jumping to the end of the function. Change the goto destination which frees the allocated memory. Cc: v5.9+ # v5.9+ Fixes: 4dc3bab8687f ("PM / devfreq: Add support delayed timer for polling mode") Signed-off-by: Lukasz Luba Signed-off-by: Chanwoo Choi Signed-off-by: Greg Kroah-Hartman --- drivers/devfreq/devfreq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -818,7 +818,8 @@ struct devfreq *devfreq_add_device(struc if (devfreq->profile->timer < 0 || devfreq->profile->timer >= DEVFREQ_TIMER_NUM) { - goto err_out; + mutex_unlock(&devfreq->lock); + goto err_dev; } if (!devfreq->profile->max_state && !devfreq->profile->freq_table) {