Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: remove useless synchronize_rcu() calls

There is no need to call synchronize_rcu() after a list insertion,
or a NULL->ptr assignment.

However, the reverse operations do need this call.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

authored by

Eric Dumazet and committed by
Dmitry Torokhov
7cbbb758 1201e7e6

-5
-2
drivers/input/evdev.c
··· 164 164 return error; 165 165 166 166 rcu_assign_pointer(evdev->grab, client); 167 - synchronize_rcu(); 168 167 169 168 return 0; 170 169 } ··· 186 187 spin_lock(&evdev->client_lock); 187 188 list_add_tail_rcu(&client->node, &evdev->client_list); 188 189 spin_unlock(&evdev->client_lock); 189 - synchronize_rcu(); 190 190 } 191 191 192 192 static void evdev_detach_client(struct evdev *evdev,
-1
drivers/input/input.c
··· 451 451 } 452 452 453 453 rcu_assign_pointer(dev->grab, handle); 454 - synchronize_rcu(); 455 454 456 455 out: 457 456 mutex_unlock(&dev->mutex);
-1
drivers/input/joydev.c
··· 180 180 spin_lock(&joydev->client_lock); 181 181 list_add_tail_rcu(&client->node, &joydev->client_list); 182 182 spin_unlock(&joydev->client_lock); 183 - synchronize_rcu(); 184 183 } 185 184 186 185 static void joydev_detach_client(struct joydev *joydev,
-1
drivers/input/mousedev.c
··· 508 508 spin_lock(&mousedev->client_lock); 509 509 list_add_tail_rcu(&client->node, &mousedev->client_list); 510 510 spin_unlock(&mousedev->client_lock); 511 - synchronize_rcu(); 512 511 } 513 512 514 513 static void mousedev_detach_client(struct mousedev *mousedev,