clockevents: Use dedicated list iterator variable
authorJakob Koschel <jakobkoschel@gmail.com>
Thu, 31 Mar 2022 21:57:07 +0000 (23:57 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 10 Apr 2022 10:38:45 +0000 (12:38 +0200)
To move the list iterator variable into the list_for_each_entry_*()
macro in the future it should be avoided to use the list iterator
variable after the loop body.

To *never* use the list iterator variable after the loop it was
concluded to use a separate iterator variable.

Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/
Link: https://lore.kernel.org/r/20220331215707.883957-1-jakobkoschel@gmail.com
kernel/time/clockevents.c

index 003ccf3..5d85014 100644 (file)
@@ -690,7 +690,7 @@ static ssize_t unbind_device_store(struct device *dev,
 {
        char name[CS_NAME_LEN];
        ssize_t ret = sysfs_get_uname(buf, name, count);
-       struct clock_event_device *ce;
+       struct clock_event_device *ce = NULL, *iter;
 
        if (ret < 0)
                return ret;
@@ -698,9 +698,10 @@ static ssize_t unbind_device_store(struct device *dev,
        ret = -ENODEV;
        mutex_lock(&clockevents_mutex);
        raw_spin_lock_irq(&clockevents_lock);
-       list_for_each_entry(ce, &clockevent_devices, list) {
-               if (!strcmp(ce->name, name)) {
-                       ret = __clockevents_try_unbind(ce, dev->id);
+       list_for_each_entry(iter, &clockevent_devices, list) {
+               if (!strcmp(iter->name, name)) {
+                       ret = __clockevents_try_unbind(iter, dev->id);
+                       ce = iter;
                        break;
                }
        }