From: Breno Leitao Date: Tue, 9 Jul 2024 14:44:00 +0000 (-0700) Subject: net: netconsole: Eliminate redundant setting of enabled field X-Git-Tag: v6.11-rc1~163^2~44^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0066623d40085bb5d0af8d645a3bba27fc5cfced;p=thirdparty%2Fkernel%2Flinux.git 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 Link: https://patch.msgid.link/20240709144403.544099-3-leitao@debian.org Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index de0d89e4e4e2a..5ef680cf994a0 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -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: