Messages in this thread Patch in this message | | | From | Xiongfeng Wang <> | Subject | [PATCH] cacheinfo: clear cache_leaves(cpu) in free_cache_attributes() | Date | Tue, 13 Jul 2021 11:47:38 +0800 |
| |
On ARM64, when PPTT(Processor Properties Topology Table) is not implemented in ACPI boot, we will goto 'free_ci' with the following print: Unable to detect cache hierarchy for CPU 0
But some other codes may still use 'num_leaves' to iterate through the 'info_list', such as get_cpu_cacheinfo_id(). If 'info_list' is NULL , it would crash. So clear 'num_leaves' in free_cache_attributes().
Fixes: 246246cbde5e ("drivers: base: support cpu cache information interface to userspace via sysfs") Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com> --- drivers/base/cacheinfo.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/base/cacheinfo.c b/drivers/base/cacheinfo.c index bfc0959..dad2962 100644 --- a/drivers/base/cacheinfo.c +++ b/drivers/base/cacheinfo.c @@ -297,6 +297,7 @@ static void free_cache_attributes(unsigned int cpu) kfree(per_cpu_cacheinfo(cpu)); per_cpu_cacheinfo(cpu) = NULL; + cache_leaves(cpu) = 0; } int __weak init_cache_level(unsigned int cpu) -- 1.7.12.4
| |