Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4480531ybz; Tue, 28 Apr 2020 12:02:11 -0700 (PDT) X-Google-Smtp-Source: APiQypLi5HvgZOUZ+OPm78no9CtexxEs3SUU/lJtkVrgfhn+IDg4DSZR+FuBtZ6ntsArvHdVC3j3 X-Received: by 2002:a50:99c4:: with SMTP id n4mr24819710edb.187.1588100530948; Tue, 28 Apr 2020 12:02:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588100530; cv=none; d=google.com; s=arc-20160816; b=PCI+ODT0gM6pjVBIjq/kaFJ/yu7SjSNRWaVX9Cb/4EYebs/NegK5Yii1Rq7ryiz6Ma XQwLoQNmW/D2dYsg99UDb10tvOPxgh898fwMnE34DwbhCdfgnQyJn+g/9XnRfMvpoySI oCPgAcYTJR5d77qUp3CfUFzEO6biI5Q17sqeKGeHbrCk3KrUWCknToVMITSu6tmsT/a/ TURdDLr6j8jZqAUU0K+YB1tIj7aQELj8n4B/+FNO9KCGIBzATtFg0tOLuQ3Bmacyhrqk bHxv+hLJ/nY3eaVrW/amh002Ub4jlkMpizWo3852AO7JzTC5aWP1gPIgiyBA0R9vTTxG By1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=FF6yiLvgMW3gmUZaFj3YTjDPlo49EwbMV2maL7DiXJk=; b=BNbETTyMfQgP4waadm1EPyUTzpPpTPJTtzs5rBDRDrxXLY7TFAoAAEieOayQxCTndc Zp60WnEfAckVy7JzNJP/o64jgColVQC35Eh0jSy6D6FRkVc5m8f1d2n/iUmfdug7U81q JM+CSxO1NpnxHpOgGURxn6QqEOzwC2Jxd+4QGZFaP+VMokYGyvdPtvdizQ/oOJ9+7VYm lVackxefTNZaIo7RkJw55AIh+O3jfo4nEMyYQr03d+ZRh+DTW3Pe0rHY/Shf6INqaxbo 3/lxlyBBompkXen8LYZwmZx51iaUl0ZtD4LjpOM1smaiCwhjaSOCLVT7VckXgWtxYSzt oblg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=KfUQcp4n; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x61si2061553ede.23.2020.04.28.12.01.47; Tue, 28 Apr 2020 12:02:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=KfUQcp4n; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729114AbgD1S2B (ORCPT + 99 others); Tue, 28 Apr 2020 14:28:01 -0400 Received: from mail.kernel.org ([198.145.29.99]:40272 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729089AbgD1S1y (ORCPT ); Tue, 28 Apr 2020 14:27:54 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 06E6B208E0; Tue, 28 Apr 2020 18:27:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588098473; bh=zlddwORQrlH5IAiGWGOgrWrkmekZCrnXInhF3wrWrA8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KfUQcp4nExM2rZZ+zvTByS0IjmFvdbRROcCgCKn+LGhsZbUwYhKMQaHWRJ/ZK+qad mrntbLc0fXEcqx2Y9XXtxvtUjvl6Yrshk2U9bbR/Ova/0sJgqU0ow5lt5z+ERKzfP7 QN44tU2byGryH0Q0ujt5GrZerUdV/lK6hNfzoE7c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Pravin B Shelar , Yi-Hung Wei , syzbot+7ef50afd3a211f879112@syzkaller.appspotmail.com, Tonghao Zhang , "David S. Miller" Subject: [PATCH 5.6 055/167] net: openvswitch: ovs_ct_exit to be done under ovs_lock Date: Tue, 28 Apr 2020 20:23:51 +0200 Message-Id: <20200428182231.932558521@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200428182225.451225420@linuxfoundation.org> References: <20200428182225.451225420@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tonghao Zhang [ Upstream commit 27de77cec985233bdf6546437b9761853265c505 ] syzbot wrote: | ============================= | WARNING: suspicious RCU usage | 5.7.0-rc1+ #45 Not tainted | ----------------------------- | net/openvswitch/conntrack.c:1898 RCU-list traversed in non-reader section!! | | other info that might help us debug this: | rcu_scheduler_active = 2, debug_locks = 1 | ... | | stack backtrace: | Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-0-ga698c8995f-prebuilt.qemu.org 04/01/2014 | Workqueue: netns cleanup_net | Call Trace: | ... | ovs_ct_exit | ovs_exit_net | ops_exit_list.isra.7 | cleanup_net | process_one_work | worker_thread To avoid that warning, invoke the ovs_ct_exit under ovs_lock and add lockdep_ovsl_is_held as optional lockdep expression. Link: https://lore.kernel.org/lkml/000000000000e642a905a0cbee6e@google.com Fixes: 11efd5cb04a1 ("openvswitch: Support conntrack zone limit") Cc: Pravin B Shelar Cc: Yi-Hung Wei Reported-by: syzbot+7ef50afd3a211f879112@syzkaller.appspotmail.com Signed-off-by: Tonghao Zhang Acked-by: Pravin B Shelar Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/openvswitch/conntrack.c | 3 ++- net/openvswitch/datapath.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) --- a/net/openvswitch/conntrack.c +++ b/net/openvswitch/conntrack.c @@ -1895,7 +1895,8 @@ static void ovs_ct_limit_exit(struct net struct hlist_head *head = &info->limits[i]; struct ovs_ct_limit *ct_limit; - hlist_for_each_entry_rcu(ct_limit, head, hlist_node) + hlist_for_each_entry_rcu(ct_limit, head, hlist_node, + lockdep_ovsl_is_held()) kfree_rcu(ct_limit, rcu); } kfree(ovs_net->ct_limit_info->limits); --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c @@ -2466,8 +2466,10 @@ static void __net_exit ovs_exit_net(stru struct net *net; LIST_HEAD(head); - ovs_ct_exit(dnet); ovs_lock(); + + ovs_ct_exit(dnet); + list_for_each_entry_safe(dp, dp_next, &ovs_net->dps, list_node) __dp_destroy(dp);