linux/arch/arc/kernel
blaze d12c6a6f0c arc: kernel: Fix clk reference leak in show_cpuinfo()
In show_cpuinfo(), clk_get() acquires a reference to the CPU clock, but
clk_put() is never called to release it. Since show_cpuinfo() is the
seq_file show callback for /proc/cpuinfo, this causes a clock reference
count leak every time /proc/cpuinfo is read.

The frequency is extracted via clk_get_rate() into a local variable, so
the clock reference can be safely released immediately after.

Fix this by calling clk_put(cpu_clk) right after clk_get_rate().

Fixes: 98f2892607c5 ("ARC: [cpuinfo] Add clk info in /proc/cpuinfo")
Signed-off-by: blaze <1466528493@qq.com>
Signed-off-by: Vineet Gupta <vgupta@kernel.org>
2026-09-09 14:31:11 +05:30
..
.gitignore
arc_hostlink.c
arcksyms.c
asm-offsets.c arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c 2025-09-25 09:57:15 +02:00
ctx_sw_asm.S ARC: __switch_to: move ksp to thread_info from thread_struct 2023-08-17 20:31:59 -07:00
devtree.c of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-10-29 15:32:45 -05:00
disasm.c ARC: disasm: handle ARCv2 case in kprobe get/set functions 2022-04-26 09:34:42 -07:00
entry-arcv2.S ARC: Fix typos 2024-04-01 18:40:39 -07:00
entry-compact.S ARC: entry: Add more common chores to EXCEPTION_PROLOGUE 2023-08-18 10:30:07 -07:00
entry.S ARC: Fix typos 2024-04-01 18:40:39 -07:00
fpu.c
head.S ARC: Fix typos 2024-04-01 18:40:39 -07:00
intc-arcv2.c ARC: Switch to irq_domain_create_linear() 2025-05-16 21:06:08 +02:00
intc-compact.c ARC: Switch to irq_domain_create_linear() 2025-05-16 21:06:08 +02:00
irq.c irq: arc: avoid CONFIG_HANDLE_DOMAIN_IRQ 2021-10-25 10:05:28 +01:00
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
kgdb.c ARC: pt_regs: create seperate type for ecr 2023-08-18 10:30:47 -07:00
kprobes.c ARC: Fix -Wmissing-prototypes warnings 2024-04-01 18:40:39 -07:00
Makefile arch: use always-$(KBUILD_BUILTIN) for vmlinux.lds 2025-06-07 14:38:07 +09:00
Makefile.syscalls arc: convert to generic syscall table 2024-07-10 14:23:38 +02:00
mcip.c ARC: Switch to irq_domain_create_linear() 2025-05-16 21:06:08 +02:00
module.c
perf_event.c arc/perf: Remove driver-specific throttle support 2025-05-21 13:57:45 +02:00
process.c arch: copy_thread: pass clone_flags as u64 2025-09-01 15:31:34 +02:00
ptrace.c ptrace, treewide: Rename ptrace_report_syscall_entry() to ptrace_report_syscall_permit_entry() 2026-07-12 12:38:02 +02:00
reset.c
setup.c arc: kernel: Fix clk reference leak in show_cpuinfo() 2026-09-09 14:31:11 +05:30
signal.c ARC: Fix typos 2024-04-01 18:40:39 -07:00
smp.c arc: remove unused profile.h includes 2026-09-09 14:28:23 +05:30
stacktrace.c ARC: -Wmissing-prototype warning fixes 2023-08-13 16:53:02 -07:00
sys.c arc: convert to generic syscall table 2024-07-10 14:23:38 +02:00
traps.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
troubleshoot.c fs: create helper file_user_path() for user displayed mapped file path 2023-10-19 11:03:15 +02:00
unaligned.c arch: remove get_task_comm() and print task comm directly 2025-01-12 20:21:15 -08:00
unaligned.h arc: get rid of private asm/unaligned.h 2024-10-02 17:22:47 -04:00
unwind.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
vmlinux.lds.S kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00