All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Breno Leitao <leitao@debian.org>
Cc: oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH 2/2] netconsole: Defer netpoll cleanup to avoid lock release during list traversal
Date: Sat, 20 Jul 2024 00:24:57 +0800	[thread overview]
Message-ID: <202407192328.P5nrBKoH-lkp@intel.com> (raw)
In-Reply-To: <20240718184311.3950526-3-leitao@debian.org>

Hi Breno,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on net-next/main]
[also build test ERROR on net/main linus/master next-20240719]
[cannot apply to horms-ipvs/master v6.10]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Breno-Leitao/netpoll-extract-core-of-netpoll_cleanup/20240719-024801
base:   net-next/main
patch link:    https://lore.kernel.org/r/20240718184311.3950526-3-leitao%40debian.org
patch subject: [RFC PATCH 2/2] netconsole: Defer netpoll cleanup to avoid lock release during list traversal
config: i386-buildonly-randconfig-005-20240719 (https://download.01.org/0day-ci/archive/20240719/202407192328.P5nrBKoH-lkp@intel.com/config)
compiler: gcc-10 (Ubuntu 10.5.0-1ubuntu1) 10.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240719/202407192328.P5nrBKoH-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407192328.P5nrBKoH-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/net/netconsole.c: In function 'netconsole_netdev_event':
>> drivers/net/netconsole.c:1053:2: error: implicit declaration of function 'netconsole_process_cleanups_core' [-Werror=implicit-function-declaration]
    1053 |  netconsole_process_cleanups_core();
         |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/netconsole_process_cleanups_core +1053 drivers/net/netconsole.c

   996	
   997	/* Handle network interface device notifications */
   998	static int netconsole_netdev_event(struct notifier_block *this,
   999					   unsigned long event, void *ptr)
  1000	{
  1001		unsigned long flags;
  1002		struct netconsole_target *nt, *tmp;
  1003		struct net_device *dev = netdev_notifier_info_to_dev(ptr);
  1004		bool stopped = false;
  1005	
  1006		if (!(event == NETDEV_CHANGENAME || event == NETDEV_UNREGISTER ||
  1007		      event == NETDEV_RELEASE || event == NETDEV_JOIN))
  1008			goto done;
  1009	
  1010		mutex_lock(&target_cleanup_list_lock);
  1011		spin_lock_irqsave(&target_list_lock, flags);
  1012		list_for_each_entry_safe(nt, tmp, &target_list, list) {
  1013			netconsole_target_get(nt);
  1014			if (nt->np.dev == dev) {
  1015				switch (event) {
  1016				case NETDEV_CHANGENAME:
  1017					strscpy(nt->np.dev_name, dev->name, IFNAMSIZ);
  1018					break;
  1019				case NETDEV_RELEASE:
  1020				case NETDEV_JOIN:
  1021				case NETDEV_UNREGISTER:
  1022					nt->enabled = false;
  1023					list_move(&nt->list, &target_cleanup_list);
  1024					stopped = true;
  1025				}
  1026			}
  1027			netconsole_target_put(nt);
  1028		}
  1029		spin_unlock_irqrestore(&target_list_lock, flags);
  1030		mutex_unlock(&target_cleanup_list_lock);
  1031	
  1032		if (stopped) {
  1033			const char *msg = "had an event";
  1034	
  1035			switch (event) {
  1036			case NETDEV_UNREGISTER:
  1037				msg = "unregistered";
  1038				break;
  1039			case NETDEV_RELEASE:
  1040				msg = "released slaves";
  1041				break;
  1042			case NETDEV_JOIN:
  1043				msg = "is joining a master device";
  1044				break;
  1045			}
  1046			pr_info("network logging stopped on interface %s as it %s\n",
  1047				dev->name, msg);
  1048		}
  1049	
  1050		/* Process target_cleanup_list entries. By the end, target_cleanup_list
  1051		 * should be empty
  1052		 */
> 1053		netconsole_process_cleanups_core();
  1054	
  1055	done:
  1056		return NOTIFY_DONE;
  1057	}
  1058	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      parent reply	other threads:[~2024-07-19 16:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-18 18:43 [RFC PATCH 0/2] netconsole: Fix netconsole unsafe locking Breno Leitao
2024-07-18 18:43 ` [RFC PATCH 1/2] netpoll: extract core of netpoll_cleanup Breno Leitao
2024-07-18 19:47   ` Rik van Riel
2024-07-18 18:43 ` [RFC PATCH 2/2] netconsole: Defer netpoll cleanup to avoid lock release during list traversal Breno Leitao
2024-07-18 19:53   ` Rik van Riel
2024-07-22  9:44     ` Breno Leitao
2024-07-19 16:24   ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202407192328.P5nrBKoH-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=leitao@debian.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.