Linux Kernel Amlogic DDR PMU Driver Preemption Vulnerability

Vulnerability

A vulnerability exists in the Amlogic DDR Performance Monitoring Unit (PMU) driver within the Linux kernel. The issue arises in the 'meson_ddr_pmu_create()' function, which improperly uses 'smp_processor_id()' instead of 'raw_smp_processor_id()'. This misstep assumes preemption is disabled, leading to kernel warnings during module loading. The problem occurs because 'meson_ddr_pmu_create()' can be invoked in a preemptible context, causing the kernel to issue warnings about the inappropriate use of 'smp_processor_id()' in such a scenario.

Impact

The vulnerability causes kernel warnings and stack traces during module loading, indicating a misuse of processor ID retrieval in a preemptible context, which can lead to potential instability or unexpected behavior in the kernel.

Reproduction

The vulnerability can be reproduced by loading the Amlogic DDR PMU driver module in a preemptible context. This can be done by using the 'udev-worker' process, which will trigger the 'meson_ddr_pmu_create()' function. The resulting kernel warning will indicate the improper use of 'smp_processor_id()' in a preemptible environment.

Remediation

Users can update to a patched version of the Linux kernel where this vulnerability has been addressed. The specific commit containing the fix can be found in the Linux kernel Git repository.

Added: Jul 10, 2025, 9:11 AM
Updated: Jul 10, 2025, 9:11 AM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
4.3
remediation
7.7
relevance
0.3
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.