mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-18 12:19:11 +08:00
net: netconsole: Eliminate redundant setting of enabled field
When disabling a netconsole target, enabled_store() is called with enabled=false. Currently, this results in updating the nt->enabled field twice: 1. Inside the if/else block, with the target_list_lock spinlock held 2. Later, without the target_list_lock This patch eliminates the redundancy by setting the field only once, improving efficiency and reducing potential race conditions. Signed-off-by: Breno Leitao <leitao@debian.org> Link: https://patch.msgid.link/20240709144403.544099-3-leitao@debian.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
a9359e8b00
commit
0066623d40
@@ -369,6 +369,7 @@ static ssize_t enabled_store(struct config_item *item,
|
||||
if (err)
|
||||
goto out_unlock;
|
||||
|
||||
nt->enabled = true;
|
||||
pr_info("network logging started\n");
|
||||
} else { /* false */
|
||||
/* We need to disable the netconsole before cleaning it up
|
||||
@@ -381,8 +382,6 @@ static ssize_t enabled_store(struct config_item *item,
|
||||
netpoll_cleanup(&nt->np);
|
||||
}
|
||||
|
||||
nt->enabled = enabled;
|
||||
|
||||
mutex_unlock(&dynamic_netconsole_mutex);
|
||||
return strnlen(buf, count);
|
||||
out_unlock:
|
||||
|
||||
Reference in New Issue
Block a user