All of lore.kernel.org
 help / color / mirror / Atom feed
* CVE-2026-53308: power: supply: max77705: Free allocated workqueue and fix removal order
@ 2026-06-26 19:40 Greg Kroah-Hartman
  0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-06-26 19:40 UTC (permalink / raw)
  To: linux-cve-announce; +Cc: Greg Kroah-Hartman

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

power: supply: max77705: Free allocated workqueue and fix removal order

Use devm interface for allocating workqueue to fix two bugs at the same
time:

1. Driver leaks the memory on remove(), because the workqueue is not
   destroyed.

2. Driver allocates workqueue and then registers interrupt handlers
   with devm interface.  This means that probe error paths will not use a
   reversed order, but first destroy the workqueue and then, via devm
   release handlers, free the interrupt.

   The interrupt handler schedules work on this exact workqueue, thus if
   interrupt is hit in this short time window - after destroying
   workqueue, but before devm() frees the interrupt - the schedulled
   work will lead to use of freed memory.

Change is not equivalent in the workqueue itself: use non-legacy API
which does not set (__WQ_LEGACY | WQ_MEM_RECLAIM).  The workqueue is
used to update power supply (power_supply_changed()) status, thus there
is no point to run it for memory reclaim.  Note that dev_name() is not
directly used in second argument to prevent possible unlikely parsing
any "%" character in device name as format.

The Linux kernel CVE team has assigned CVE-2026-53308 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 6.15 with commit a6a494c8e3ce1fe84aac538b087a4cab868ed83f and fixed in 7.0.10 with commit b98e4e57e34d099a8f846fa54749654082975ea0
	Issue introduced in 6.15 with commit a6a494c8e3ce1fe84aac538b087a4cab868ed83f and fixed in 7.1 with commit 1e668baadefb16e81269dbfebf3ffc2672e3a3bb

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-53308
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/power/supply/max77705_charger.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/b98e4e57e34d099a8f846fa54749654082975ea0
	https://git.kernel.org/stable/c/1e668baadefb16e81269dbfebf3ffc2672e3a3bb

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-26 19:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-26 19:40 CVE-2026-53308: power: supply: max77705: Free allocated workqueue and fix removal order Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.