Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3758488pxk; Tue, 29 Sep 2020 05:41:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJweHHGJQfb8kZgsDyv1FfHCotdcgecG6dxup5HcDjD1isGsIObcSfPZNEXWrFl9j/eTbk1G X-Received: by 2002:a05:6402:1a23:: with SMTP id be3mr2309019edb.388.1601383269235; Tue, 29 Sep 2020 05:41:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601383269; cv=none; d=google.com; s=arc-20160816; b=YJD+Z5fW1EOCrobnovfmNoPYzF0HBzKMPGTzrYBhfk/D1d/DxSslaB4zWYRLax3OqQ kAdXixLS76Qfp4xkMOXzHAPcQimL/0PuKlh2EYvWZXrYWLbq0CIg5lKvEnv+yEUcm57U QUq/NCGoLcAcoNUHIPLQaZiyoUKHzqPy+Fspn2lpCxERVGeuG7r0LSgFbLpQELI9cHvh itNSMbmALByUOsqpfzjrT8kBHcnmasEBW8wtMHSRE6n8PQD8g56wpLixqWcf1vpursGC dGVEI0OxNrcKrZRLtzXFmwlwQ63Iy8XKlU21PLanRzgqVUfVH5tdsO26dpuhqo8mD4ey lvJQ== 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=lZSsENby8OLYzUuhXrw6Xm7neq+AAMlRT1FhV+2SMaY=; b=Nnn6XIUc5XyQ8h+VrWpp0gHcEEc6tYDqQaEDxLSwr8dmhH1JUnMFg5TrlA/FlyZvHu GNOf3HzhZpFSvP3uAWj2+WymwnQFB0vYf2seYgAGF48BRQQsY1I7O4aM9OgWC0y7NcQA 7CTMxBAFW6HgP5RkmgyxKuWwJ4t1BlZKM+jEHJruzud1lAfA2r2UQwf8cjZGvQbbI1/D oFkaTlH8w4FEOSKX6TkRS1utBsxQDzwVHXS7gOvqn+qHjsQUOXYtuky165uegSIm7k8Q rfYP8ewTkoGBo+55Bb4oTY9AftNbdfo30S19T9eDpwqW1XGbbiNzN8OCsoE5R7Qg5fA4 xZMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=DWSCPiHb; 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=fail (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 d10si2829637edp.364.2020.09.29.05.40.46; Tue, 29 Sep 2020 05:41:09 -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=DWSCPiHb; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732147AbgI2Mhp (ORCPT + 99 others); Tue, 29 Sep 2020 08:37:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:35520 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728789AbgI2LR5 (ORCPT ); Tue, 29 Sep 2020 07:17:57 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 8FCDF208B8; Tue, 29 Sep 2020 11:17:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601378269; bh=r0fzL6YVMGGhXXkUtEr7IjOsYdFCQGKvXJKkW9V/Jgk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DWSCPiHbohTOyoN0OVTxFIIicpeUoeTSU11qRzC0cUCP7tFN1e66iZWVFgBLIcIIB A1AdeN20g6pS3ivX08yJKPiqujwU1h0lnTPkPXzt/R2fIXrakmHIJPjFRkJQtxZRJ0 WtM1hsjIpYu+TqbZNYfSRXoVfLNPRncu08EC+dRs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Pratik Rajesh Sampat , Daniel Axtens , Michael Ellerman , Sasha Levin Subject: [PATCH 4.14 090/166] cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn Date: Tue, 29 Sep 2020 13:00:02 +0200 Message-Id: <20200929105939.709247710@linuxfoundation.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200929105935.184737111@linuxfoundation.org> References: <20200929105935.184737111@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: Pratik Rajesh Sampat [ Upstream commit d95fe371ecd28901f11256c610b988ed44e36ee2 ] The patch avoids allocating cpufreq_policy on stack hence fixing frame size overflow in 'powernv_cpufreq_work_fn' Fixes: 227942809b52 ("cpufreq: powernv: Restore cpu frequency to policy->cur on unthrottling") Signed-off-by: Pratik Rajesh Sampat Reviewed-by: Daniel Axtens Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/20200316135743.57735-1-psampat@linux.ibm.com Signed-off-by: Sasha Levin --- drivers/cpufreq/powernv-cpufreq.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c index 25c9a6cdd8614..dc81fc2bf8015 100644 --- a/drivers/cpufreq/powernv-cpufreq.c +++ b/drivers/cpufreq/powernv-cpufreq.c @@ -864,6 +864,7 @@ static struct notifier_block powernv_cpufreq_reboot_nb = { void powernv_cpufreq_work_fn(struct work_struct *work) { struct chip *chip = container_of(work, struct chip, throttle); + struct cpufreq_policy *policy; unsigned int cpu; cpumask_t mask; @@ -878,12 +879,14 @@ void powernv_cpufreq_work_fn(struct work_struct *work) chip->restore = false; for_each_cpu(cpu, &mask) { int index; - struct cpufreq_policy policy; - cpufreq_get_policy(&policy, cpu); - index = cpufreq_table_find_index_c(&policy, policy.cur); - powernv_cpufreq_target_index(&policy, index); - cpumask_andnot(&mask, &mask, policy.cpus); + policy = cpufreq_cpu_get(cpu); + if (!policy) + continue; + index = cpufreq_table_find_index_c(policy, policy->cur); + powernv_cpufreq_target_index(policy, index); + cpumask_andnot(&mask, &mask, policy->cpus); + cpufreq_cpu_put(policy); } out: put_online_cpus(); -- 2.25.1