Go to file
Srinivas Pandruvada b5d68f84f4 thermal: intel: powerclamp: Fix NULL pointer access issue
If cur_state for the powerclamp cooling device is set to the default
minimum state of 0, without setting first to cur_state > 0, this results
in NULL pointer access.

This NULL pointer access happens in the powercap core idle-inject
function idle_inject_set_duration() as there is no NULL check for
idle_inject_device pointer. This pointer must be allocated by calling
idle_inject_register() or idle_inject_register_full().

In the function powerclamp_set_cur_state(), idle_inject_device pointer
is allocated only when the cur_state > 0. But setting 0 without changing
to any other state, idle_inject_set_duration() will be called with a
NULL idle_inject_device pointer.

To address this, just return from powerclamp_set_cur_state() if the
current cooling device state is the same as the last one. Since the
power-up default cooling device state is 0, changing the state to 0
again here will return without calling idle_inject_set_duration().

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Fixes: 8526eb7fc7 ("thermal: intel: powerclamp: Use powercap idle-inject feature")
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=217386
Tested-by: Risto A. Paju <teknohog@iki.fi>
Cc: 6.3+ <stable@kernel.org> # 6.3+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-05-04 20:30:18 +02:00
arch hte: Changes for v6.4-rc1 2023-05-03 11:00:27 -07:00
block Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
certs KEYS: Add missing function documentation 2023-04-24 16:15:52 +03:00
crypto modules-6.4-rc1 2023-04-27 16:36:55 -07:00
Documentation More thermal control updates for 6.4-rc1 2023-05-03 11:46:01 -07:00
drivers thermal: intel: powerclamp: Fix NULL pointer access issue 2023-05-04 20:30:18 +02:00
fs afs: Avoid endless loop if file is larger than expected 2023-05-02 17:23:50 +01:00
include More thermal control updates for 6.4-rc1 2023-05-03 11:46:01 -07:00
init Objtool changes for v6.4: 2023-04-28 14:02:54 -07:00
io_uring Networking changes for 6.4. 2023-04-26 16:07:23 -07:00
ipc Merge branch 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2023-02-24 19:20:07 -08:00
kernel IOMMU Updates for Linux 6.4 2023-04-30 13:00:38 -07:00
lib s390 updates for the 6.4 merge window 2023-04-30 11:43:31 -07:00
LICENSES
mm IOMMU Updates for Linux 6.4 2023-04-30 13:00:38 -07:00
net NFSD 6.4 Release Notes 2023-04-29 11:04:14 -07:00
rust Rust changes for v6.4 2023-04-30 11:20:22 -07:00
samples Rust changes for v6.4 2023-04-30 11:20:22 -07:00
scripts Kbuild updates for v6.4 2023-04-30 11:32:53 -07:00
security integrity-v6.4 2023-04-29 10:11:32 -07:00
sound Mainly singleton patches all over the place. Series of note are: 2023-04-27 19:57:00 -07:00
tools s390: 2023-05-01 12:06:20 -07:00
usr initramfs: Check negative timestamp to prevent broken cpio archive 2023-04-16 17:37:01 +09:00
virt s390: 2023-05-01 12:06:20 -07:00
.clang-format cxl for v6.4 2023-04-30 11:51:51 -07:00
.cocciconfig
.get_maintainer.ignore
.gitattributes .gitattributes: use 'dts' diff driver for *.dtso files 2023-02-26 15:28:23 +09:00
.gitignore linux-kselftest-kunit-6.4-rc1 2023-04-24 12:31:32 -07:00
.mailmap Mainly singleton patches all over the place. Series of note are: 2023-04-27 19:57:00 -07:00
.rustfmt.toml
COPYING
CREDITS Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
Kbuild
Kconfig
MAINTAINERS pwm: Changes for v6.4-rc1 2023-05-03 11:25:01 -07:00
Makefile Kbuild updates for v6.4 2023-04-30 11:32:53 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.