module: Remove preempt_disable() from module reference counting.
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 9 May 2023 13:49:02 +0000 (15:49 +0200)
committerLuis Chamberlain <mcgrof@kernel.org>
Wed, 24 May 2023 05:23:18 +0000 (22:23 -0700)
commitcb0b50b813f6198b7d44ae8e169803440333577a
treecdfef99608a1e25ec39c5e685ec42e9494c343bb
parentd36f6efbe0cb422fe1e4475717d75f3737088832
module: Remove preempt_disable() from module reference counting.

The preempt_disable() section in module_put() was added in commit
   e1783a240f491 ("module: Use this_cpu_xx to dynamically allocate counters")

while the per-CPU counter were switched to another API. The API requires
that during the RMW operation the CPU remained the same.

This counting API was later replaced with atomic_t in commit
   2f35c41f58a97 ("module: Replace module_ref with atomic_t refcnt")

Since this atomic_t replacement there is no need to keep preemption
disabled while the reference counter is modified.

Remove preempt_disable() from module_put(), __module_get() and
try_module_get().

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
kernel/module/main.c