Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2521782pxj; Mon, 10 May 2021 05:07:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwjmlYqUb9d2uWE5C6Z73qOFh+DnKb8YLNegcZhXxsnqr2ltpga/eEyBL0H6CpKfZ/zyiN8 X-Received: by 2002:a5e:a619:: with SMTP id q25mr14357488ioi.95.1620648325807; Mon, 10 May 2021 05:05:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620648325; cv=none; d=google.com; s=arc-20160816; b=jz1MxKlIpJcmyt1ehv1de4c+dspk1Z0Ph2r3LjGVknnwIykNsfQPosB0JM68zJmK3L HD7GqIo65VnPi2VgmQWIT4KTr3XMMI4igrkPXEIh56JBslqIVdVt0+L4N+WAd4vHXJ1r cUU2xHdOyYEJl6X7JSMd7oOyYFbpXGd7ULg68K9Ihq9hplRfgPyRV5XsjpKWzRMHoODS 510dftRZqX/n0LVnZ6a+h+5gvgFWq1KrK6lS1lIF2TCv6cKFIf0o03i7LS7T2vzxPefe k1MAj4J2xYHkAtaztmaSmSNeb2VP5o5louqYk8QXqbAzWDZz26kZ64m9qWPduKGVdNnF LiBg== 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=6vfOyHod1WugOj0tI5iLBNWXRKHqJfk699+F2sghs+0=; b=OV5lHGhQow+jNoNrGtU/yH2HVpN6WctF+6pD+zckrPWKuBnOq2Vne+ylyZN+RBrzTq ODAMz0kqtsrNHY9X3VYNOCR0WJ6FnqMByI/iM1QGMMfn2Zt8YulCkpkEhD0SdeU+JXcd iDTgiqB9uGI+7wqWb8wRxdQxwLAj2Cvf2xMWU0jSMK5QniJf0kZn/aEa1Q5YQFSWLOx5 wJE7koxD13Dnhu+hEu1oNn1GwWHYakSwrlfab7qaME5tY2tc50bEmqISFu+s9rOIo91r nYWRGCw8PcW2jIx4tur6TOAKDtrYLp3dZZT6KEgwBX0KIeLjAfg9i0eyzVdq1H3L55ie XIXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=c5m83pl2; 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 y10si13097265ill.98.2021.05.10.05.05.12; Mon, 10 May 2021 05:05:25 -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=c5m83pl2; 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 S244649AbhEJL7o (ORCPT + 99 others); Mon, 10 May 2021 07:59:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:37324 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235960AbhEJLHF (ORCPT ); Mon, 10 May 2021 07:07:05 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3BAD76162E; Mon, 10 May 2021 10:57:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620644235; bh=pTjM3Nl2nmy8c77cRJ2FbBpx2W0g03c7lC80yDjpenU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c5m83pl2BqTNFUoW4Z5Xlf6CXh6IzQvfO23wU1Y3/c1bH9ru+foToU6QrO0lggs8p F6xWKqSfKGzbZWtQovr0wtaMQAI+PL2tGR04nPkVOP4RA5rPevAjldwdkfujfg1+Jz tiyC81wVm80jAtumtuuNUyO3DSJGHyjk6ZRBZpsg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lukasz Luba , Daniel Lezcano Subject: [PATCH 5.11 342/342] thermal/core/fair share: Lock the thermal zone while looping over instances Date: Mon, 10 May 2021 12:22:12 +0200 Message-Id: <20210510102021.421831512@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102010.096403571@linuxfoundation.org> References: <20210510102010.096403571@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 fef05776eb02238dcad8d5514e666a42572c3f32 upstream. The tz->lock must be hold during the looping over the instances in that thermal zone. This lock was missing in the governor code since the beginning, so it's hard to point into a particular commit. CC: stable@vger.kernel.org # 4.4+ Signed-off-by: Lukasz Luba Signed-off-by: Daniel Lezcano Link: https://lore.kernel.org/r/20210422153624.6074-2-lukasz.luba@arm.com Signed-off-by: Greg Kroah-Hartman --- drivers/thermal/gov_fair_share.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/drivers/thermal/gov_fair_share.c +++ b/drivers/thermal/gov_fair_share.c @@ -82,6 +82,8 @@ static int fair_share_throttle(struct th int total_instance = 0; int cur_trip_level = get_trip_level(tz); + mutex_lock(&tz->lock); + list_for_each_entry(instance, &tz->thermal_instances, tz_node) { if (instance->trip != trip) continue; @@ -110,6 +112,8 @@ static int fair_share_throttle(struct th mutex_unlock(&instance->cdev->lock); thermal_cdev_update(cdev); } + + mutex_unlock(&tz->lock); return 0; }