mirror of
https://github.com/torvalds/linux.git
synced 2026-01-24 23:16:46 +00:00
timekeeping: Fix aux clocks sysfs initialization loop bound
The loop in tk_aux_sysfs_init() uses `i <= MAX_AUX_CLOCKS` as the
termination condition, which results in 9 iterations (i=0 to 8) when
MAX_AUX_CLOCKS is defined as 8. However, the kernel is designed to support
only up to 8 auxiliary clocks.
This off-by-one error causes the creation of a 9th sysfs entry that exceeds
the intended auxiliary clock range.
Fix the loop bound to use `i < MAX_AUX_CLOCKS` to ensure exactly 8
auxiliary clock entries are created, matching the design specification.
Fixes: 7b95663a3d ("timekeeping: Provide interface to control auxiliary clocks")
Signed-off-by: Haofeng Li <lihaofeng@kylinos.cn>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://patch.msgid.link/tencent_2376993D9FC06A3616A4F981B3DE1C599607@qq.com
This commit is contained in:
committed by
Thomas Gleixner
parent
211ddde082
commit
39a9ed0fb6
@@ -3070,7 +3070,7 @@ static int __init tk_aux_sysfs_init(void)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
for (int i = 0; i <= MAX_AUX_CLOCKS; i++) {
|
||||
for (int i = 0; i < MAX_AUX_CLOCKS; i++) {
|
||||
char id[2] = { [0] = '0' + i, };
|
||||
struct kobject *clk = kobject_create_and_add(id, auxo);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user