]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
netconsole: clear dev_name for devices bound by mac
authorAndre Carvalho <asantostc@gmail.com>
Sun, 18 Jan 2026 11:00:24 +0000 (11:00 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 22 Jan 2026 03:09:11 +0000 (19:09 -0800)
This patch makes sure netconsole clears dev_name for devices bound by mac
in order to allow calling setup_netpoll on targets that have previously
been cleaned up (in order to support resuming deactivated targets).

This is required as netpoll_setup populates dev_name even when devices are
matched via mac address. The cleanup is done inside netconsole as bound
by mac is a netconsole concept.

Signed-off-by: Andre Carvalho <asantostc@gmail.com>
Reviewed-by: Breno Leitao <leitao@debian.org>
Tested-by: Breno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20260118-netcons-retrigger-v11-4-4de36aebcf48@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/netconsole.c

index 7a1e5559fc0da9f24b406dff619974b5d0adad11..02a3463e8d249cb2a9252feb618a63a88885d74f 100644 (file)
@@ -242,6 +242,12 @@ static void populate_configfs_item(struct netconsole_target *nt,
 }
 #endif /* CONFIG_NETCONSOLE_DYNAMIC */
 
+/* Check if the target was bound by mac address. */
+static bool bound_by_mac(struct netconsole_target *nt)
+{
+       return is_valid_ether_addr(nt->np.dev_mac);
+}
+
 /* Allocate and initialize with defaults.
  * Note that these targets get their config_item fields zeroed-out.
  */
@@ -284,6 +290,8 @@ static void netconsole_process_cleanups_core(void)
                /* all entries in the cleanup_list needs to be disabled */
                WARN_ON_ONCE(nt->state == STATE_ENABLED);
                do_netpoll_cleanup(&nt->np);
+               if (bound_by_mac(nt))
+                       memset(&nt->np.dev_name, 0, IFNAMSIZ);
                /* moved the cleaned target to target_list. Need to hold both
                 * locks
                 */