All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Adrian Moreno <amorenoz@redhat.com>, netdev@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev,
	Adrian Moreno <amorenoz@redhat.com>,
	Aaron Conole <aconole@redhat.com>,
	Eelco Chaudron <echaudro@redhat.com>,
	Ilya Maximets <i.maximets@ovn.org>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Simon Horman <horms@kernel.org>,
	dev@openvswitch.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v1] net: openvswitch: decouple flow_table from ovs_mutex
Date: Tue, 17 Mar 2026 21:30:00 +0800	[thread overview]
Message-ID: <202603172153.FuWl19zD-lkp@intel.com> (raw)
In-Reply-To: <20260313173114.1220551-1-amorenoz@redhat.com>

Hi Adrian,

kernel test robot noticed the following build warnings:

[auto build test WARNING on net-next/main]

url:    https://github.com/intel-lab-lkp/linux/commits/Adrian-Moreno/net-openvswitch-decouple-flow_table-from-ovs_mutex/20260314-152511
base:   net-next/main
patch link:    https://lore.kernel.org/r/20260313173114.1220551-1-amorenoz%40redhat.com
patch subject: [PATCH net-next v1] net: openvswitch: decouple flow_table from ovs_mutex
config: arm-randconfig-r132-20260317 (https://download.01.org/0day-ci/archive/20260317/202603172153.FuWl19zD-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project f46a5153850c1303d687233d4adf699b01041da8)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260317/202603172153.FuWl19zD-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/202603172153.FuWl19zD-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> net/openvswitch/datapath.c:2016:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct flow_table *table @@     got struct flow_table [noderef] __rcu *table @@
   net/openvswitch/datapath.c:2016:28: sparse:     expected struct flow_table *table
   net/openvswitch/datapath.c:2016:28: sparse:     got struct flow_table [noderef] __rcu *table

vim +2016 net/openvswitch/datapath.c

  1913	
  1914	static int ovs_dp_cmd_new(struct sk_buff *skb, struct genl_info *info)
  1915	{
  1916		struct nlattr **a = info->attrs;
  1917		struct flow_table *table;
  1918		struct vport_parms parms;
  1919		struct sk_buff *reply;
  1920		struct datapath *dp;
  1921		struct vport *vport;
  1922		struct ovs_net *ovs_net;
  1923		int err;
  1924	
  1925		err = -EINVAL;
  1926		if (!a[OVS_DP_ATTR_NAME] || !a[OVS_DP_ATTR_UPCALL_PID])
  1927			goto err;
  1928	
  1929		reply = ovs_dp_cmd_alloc_info();
  1930		if (!reply)
  1931			return -ENOMEM;
  1932	
  1933		err = -ENOMEM;
  1934		dp = kzalloc_obj(*dp);
  1935		if (dp == NULL)
  1936			goto err_destroy_reply;
  1937	
  1938		ovs_dp_set_net(dp, sock_net(skb->sk));
  1939	
  1940		/* Allocate table. */
  1941		table = ovs_flow_tbl_alloc();
  1942		if (IS_ERR(table)) {
  1943			err = PTR_ERR(table);
  1944			goto err_destroy_dp;
  1945		}
  1946		rcu_assign_pointer(dp->table, table);
  1947	
  1948		err = ovs_dp_stats_init(dp);
  1949		if (err)
  1950			goto err_destroy_table;
  1951	
  1952		err = ovs_dp_vport_init(dp);
  1953		if (err)
  1954			goto err_destroy_stats;
  1955	
  1956		err = ovs_meters_init(dp);
  1957		if (err)
  1958			goto err_destroy_ports;
  1959	
  1960		/* Set up our datapath device. */
  1961		parms.name = nla_data(a[OVS_DP_ATTR_NAME]);
  1962		parms.type = OVS_VPORT_TYPE_INTERNAL;
  1963		parms.options = NULL;
  1964		parms.dp = dp;
  1965		parms.port_no = OVSP_LOCAL;
  1966		parms.upcall_portids = a[OVS_DP_ATTR_UPCALL_PID];
  1967		parms.desired_ifindex = nla_get_s32_default(a[OVS_DP_ATTR_IFINDEX], 0);
  1968	
  1969		/* So far only local changes have been made, now need the lock. */
  1970		ovs_lock();
  1971	
  1972		err = ovs_dp_change(dp, a);
  1973		if (err)
  1974			goto err_unlock_and_destroy_meters;
  1975	
  1976		vport = new_vport(&parms);
  1977		if (IS_ERR(vport)) {
  1978			err = PTR_ERR(vport);
  1979			if (err == -EBUSY)
  1980				err = -EEXIST;
  1981	
  1982			if (err == -EEXIST) {
  1983				/* An outdated user space instance that does not understand
  1984				 * the concept of user_features has attempted to create a new
  1985				 * datapath and is likely to reuse it. Drop all user features.
  1986				 */
  1987				if (info->genlhdr->version < OVS_DP_VER_FEATURES)
  1988					ovs_dp_reset_user_features(skb, info);
  1989			}
  1990	
  1991			goto err_destroy_portids;
  1992		}
  1993	
  1994		err = ovs_dp_cmd_fill_info(dp, reply, info->snd_portid,
  1995					   info->snd_seq, 0, OVS_DP_CMD_NEW);
  1996		BUG_ON(err < 0);
  1997	
  1998		ovs_net = net_generic(ovs_dp_get_net(dp), ovs_net_id);
  1999		list_add_tail_rcu(&dp->list_node, &ovs_net->dps);
  2000	
  2001		ovs_unlock();
  2002	
  2003		ovs_notify(&dp_datapath_genl_family, reply, info);
  2004		return 0;
  2005	
  2006	err_destroy_portids:
  2007		kfree(rcu_dereference_raw(dp->upcall_portids));
  2008	err_unlock_and_destroy_meters:
  2009		ovs_unlock();
  2010		ovs_meters_exit(dp);
  2011	err_destroy_ports:
  2012		kfree(dp->ports);
  2013	err_destroy_stats:
  2014		free_percpu(dp->stats_percpu);
  2015	err_destroy_table:
> 2016		ovs_flow_tbl_put(dp->table);
  2017	err_destroy_dp:
  2018		kfree(dp);
  2019	err_destroy_reply:
  2020		kfree_skb(reply);
  2021	err:
  2022		return err;
  2023	}
  2024	

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

  parent reply	other threads:[~2026-03-17 13:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-13 17:31 [PATCH net-next v1] net: openvswitch: decouple flow_table from ovs_mutex Adrian Moreno
2026-03-13 19:35 ` Jakub Kicinski
2026-03-16 12:01   ` Adrián Moreno
2026-03-14 18:32 ` [syzbot ci] " syzbot ci
2026-03-17 13:30 ` kernel test robot [this message]
2026-03-18 14:09 ` [PATCH net-next v1] " kernel test robot

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=202603172153.FuWl19zD-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=aconole@redhat.com \
    --cc=amorenoz@redhat.com \
    --cc=dev@openvswitch.org \
    --cc=echaudro@redhat.com \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=i.maximets@ovn.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pabeni@redhat.com \
    /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.