In the Linux kernel, the following vulnerability has been resolved: regulator: tps65219: fix...
🔗 CVE IDs covered (1)
📋 Description
In the Linux kernel, the following vulnerability has been resolved:
regulator: tps65219: fix irq_data.rdev not being assigned
Commit 64a6b577490c ("regulator: tps65219: Remove debugging helper function") removed the tps65219_get_rdev_by_name() helper along with the irq_data.rdev assignment that depended on it. This left irq_data.rdev uninitialized for all IRQs, causing undefined behavior when regulator_notifier_call_chain() is called from the IRQ handler:
Internal error: Oops: 0000000096000004 pc : regulator_notifier_call_chain lr : tps65219_regulator_irq_handler Call trace: regulator_notifier_call_chain tps65219_regulator_irq_handler handle_nested_irq regmap_irq_thread irq_thread_fn irq_thread kthread ret_from_fork
Instead of restoring a dedicated lookup array, restructure the probe function to combine regulator registration with IRQ registration in the same loop. This way the rdev returned by devm_regulator_register() is naturally available for assigning to irq_data.rdev without any auxiliary data structure.
Non-regulator IRQs (SENSOR, TIMEOUT) that don't correspond to any registered regulator are registered with rdev=NULL, and the IRQ handler is protected with a NULL check to avoid crashing.
🔗 References (5)
- https://nvd.nist.gov/vuln/detail/CVE-2026-64230
- https://git.kernel.org/stable/c/6827647fd2dcf4e7f355478a42e82f51e0b5344c
- https://git.kernel.org/stable/c/b986f88b22a5374191c195c073350bbeb1bb6518
- https://git.kernel.org/stable/c/f9b2d3b703d13df50c630997dfdc25648e96db0d
- https://github.com/advisories/GHSA-9pch-737p-3qc4