Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2555277pxj; Mon, 10 May 2021 05:50:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwQ7kcQVTm/wO/JpnapUwEbl2FtZojYUdfzGOElTPi0NluK0+XUXwiI8sitV99Lig2riOdk X-Received: by 2002:a5d:8516:: with SMTP id q22mr18198022ion.173.1620651046508; Mon, 10 May 2021 05:50:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620651046; cv=none; d=google.com; s=arc-20160816; b=og3dwhVh5xJ82zRxiQieNzJLy4rE9ekiUBGSvK3sqVn77TU8Mh80bULwdalNGw6bFA GGEh4Y7MpY8CnGhQiZ+I0EVxWywdF6R6Kd0ajSBr6ciXe/Foq0qNGNvSAoqHvYCrrxmA 5rlYLIrgXD4tZpGBhinejoNgdpF3swCNLvpHPCrciUOWZw/1DwSmRlvmdik0X/tvjK9v r7k5jtBF+Ce30yq9ACQgPihfCIv0lSWLQGPXkcqIzJ4XGimkae/cLBNaIUDy4m8K2kOe wjELgcPFp1/P7DLlNGNEbsHeptCG8thARGHoQB0bitIt+AgSuZ6whsFOjON6cLA2rTio qHTw== 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=GIbnjBNSDrTTyNWdiNUve44CYVQHpJh4L1+X9v41lv7PvMoXaMsolj0WXTmqoQc/CP njYqApBL+k/Ytt+uKji3OwkZ0WjMhQQqkl+Dj3QPN3TBXHfCU53Nesn6mNqakrto1OIJ Hc0iTszXk6Bc7VhdavuJEx7GgnrFxAmZH+UPg6L71pwtA8tTTUS/m/aF0rG8QG67eZWD QDRVs9oQPkloBPm2K0Q1K5NNaV/hucpBHg2vwyYNmWh1789++lq71nrc5bQLDNR7OpSy ikci2eHOOUZXSv12CKXxelHG1MzmIcF1bHSnzA1+b3lPmRGtvnsCq32XKyQfvRGyDSoW LNXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=onEvjJHV; 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 u4si12350377jad.12.2021.05.10.05.50.32; Mon, 10 May 2021 05:50:46 -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=onEvjJHV; 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 S1348537AbhEJMpz (ORCPT + 99 others); Mon, 10 May 2021 08:45:55 -0400 Received: from mail.kernel.org ([198.145.29.99]:60432 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238351AbhEJLR1 (ORCPT ); Mon, 10 May 2021 07:17:27 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3BE06610C9; Mon, 10 May 2021 11:13:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620645193; bh=pTjM3Nl2nmy8c77cRJ2FbBpx2W0g03c7lC80yDjpenU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=onEvjJHVEcmN3bpdcKoe6UGZiajLXZCModhZ3Mn+sj/N/JFcF2VmiIE8sloV6QdXD ZdNvjcCwg+dR3RJlwAaGHu6mWGd6YA2K2DHa2+MtYy9Hn2NsVy5EDDM1VQWIAZ+Z2K d9QUBhbKbj6sSYdFnCZNX1hcr6Xx/Br/Ts3735t0= 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.12 384/384] thermal/core/fair share: Lock the thermal zone while looping over instances Date: Mon, 10 May 2021 12:22:53 +0200 Message-Id: <20210510102027.447277734@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102014.849075526@linuxfoundation.org> References: <20210510102014.849075526@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; }