[PATCH v1 00/10] devfreq: Fix NULL pointer dereference when a governor module is unloaded
Jie Zhan
zhanjie9 at hisilicon.com
Thu Mar 26 06:14:01 PDT 2026
On 3/26/2026 8:34 PM, Jie Zhan wrote:
> When compiled as a kernel module, the governor module can be dynamically
> inserted or removed. 'devfreq->governor' would become NULL if the governor
> module is removed when it's in use, and NULL pointer dereference would be
> triggered. A similar issue was also reported in [1].
>
> To address this issue:
>
> Patch 1-5 rework mutex, factor out a common governor setting function, and
> clean up some unreachable code.
>
> Patch 6-8 prevent a governor module in use from being removed (except for
> force unload) by getting/putting a refcount of the governor's module when
> switching governors.
>
> Patch 9-10 allow 'governor' and 'available_governors' to work normally even
> when a governor module in use is force unloaded.
>
> Note that this series is based on [1] or devfreq-next, otherwise code
sorry, based on [2] or devfreq-next
> would conflict.
>
> [1] https://lore.kernel.org/all/20260319091409.998397-1-tianyaxiong@kylinos.cn/
> [2] https://lore.kernel.org/all/20251216031153.2242306-1-zhangpengjie2@huawei.com/
More information about the linux-arm-kernel
mailing list