Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp110460ybm; Tue, 26 May 2020 12:03:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw8muAedh746vrwWj50Vcn86xuqyU1ox2r41tZXU1OsiyNzEgZK/UPvCpXN+16vgpjUmyHJ X-Received: by 2002:a17:906:c401:: with SMTP id u1mr2348654ejz.151.1590519799942; Tue, 26 May 2020 12:03:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590519799; cv=none; d=google.com; s=arc-20160816; b=BElCNvs/jpHrw+/3c2bOXwwLHM5D3jVY1pv6ldQmZT6KU8T8wv0joNO5Qg/bsT5cP9 F7QmEvxUrrgfOtgk9YtxGbOqRot+ZDV+y2mp6F78nzn2Gnjc6rN6r2UzHov5LHLsPhzS IBX12Rn/S7jRq4XQ+tjwhnfIoS7nmfWMPapvGS6iey1oMz8XddTOuGnr61PGb8uAh4T6 6kiNUmLAVglyqoBO9YSYQtRsVmRo7lkEAHHL9d/z5C/eLdClktOfi/58kSeLvGC6mV95 UqX8IwbmBl/F8Xk5jyUfq0E160HWkEqRUpX9U+9ce5l8StiIXn0Jwk7tgNzzuXPIwpUa 60/A== 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=JTRRFIznQktYDxPmOYPIWGSR6nLVUUX9zikEQfj9vCQ=; b=GwGqQLDSZEe0v45sk784PZKZSqeVXOXlaRCchQrHFsaoFKiPh40xinqisMw87gmK+x JOnLO8iFP+iJH9fKHGl6N4+5JPQOnS9iyAWkPHG83P1K0Vt+pIrRcbtysWIGH1v12f2x 8VnN6zCpykP5xXCQpMI4eON09iKvTfD4v+67D/XnNZKXgs0eknUt23FF9E/VdP7nKcnw j7KVhXT6QZn3IwbozYEwr47Sf0mHW/VdJ+mcQlVK0Wz+BIUb9oLX8JSd+ov+NeRkrOeR sFQdjp6KW8bxZuDiSXrWf0kjG9nWw0guIFUxelrSOH7GAiJ6eWBZgFQHXOZFLFjM4cgV MFag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=nIqQuH+h; 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 c11si371498edk.514.2020.05.26.12.02.56; Tue, 26 May 2020 12:03:19 -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=nIqQuH+h; 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 S2389569AbgEZTAK (ORCPT + 99 others); Tue, 26 May 2020 15:00:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:54020 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389977AbgEZTAB (ORCPT ); Tue, 26 May 2020 15:00:01 -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 9293620849; Tue, 26 May 2020 19:00:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590519601; bh=KM+T7rK8LxTAusvClFFwqtI7Ma/8JjMwgBpdJRCQE5k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nIqQuH+h1FMp+Bm7tf9ST2Zme3C+XlxCf3EflTvZ2RKB30cIfszf+90JCG0L8kVn7 iHZR+XMnME5Yif+I11B/4j4wRNjMBcYZYLmgT9+Og2OvZzudHPqW2lz+GhfACyu64H FPDTEjyX0KW4DbjpZMCYBj5eUW3+DWBhLIYuKk98= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org, greg@kroah.com Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Guillaume Nault , "David S. Miller" , Giuliano Procida Subject: [PATCH 4.9 39/64] l2tp: hold tunnel while handling genl tunnel updates Date: Tue, 26 May 2020 20:53:08 +0200 Message-Id: <20200526183926.219021493@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200526183913.064413230@linuxfoundation.org> References: <20200526183913.064413230@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: Guillaume Nault commit 8c0e421525c9eb50d68e8f633f703ca31680b746 upstream. We need to make sure the tunnel is not going to be destroyed by l2tp_tunnel_destruct() concurrently. Fixes: 309795f4bec2 ("l2tp: Add netlink control API for L2TP") Signed-off-by: Guillaume Nault Signed-off-by: David S. Miller Signed-off-by: Giuliano Procida Signed-off-by: Greg Kroah-Hartman --- net/l2tp/l2tp_netlink.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/net/l2tp/l2tp_netlink.c +++ b/net/l2tp/l2tp_netlink.c @@ -310,8 +310,8 @@ static int l2tp_nl_cmd_tunnel_modify(str } tunnel_id = nla_get_u32(info->attrs[L2TP_ATTR_CONN_ID]); - tunnel = l2tp_tunnel_find(net, tunnel_id); - if (tunnel == NULL) { + tunnel = l2tp_tunnel_get(net, tunnel_id); + if (!tunnel) { ret = -ENODEV; goto out; } @@ -322,6 +322,8 @@ static int l2tp_nl_cmd_tunnel_modify(str ret = l2tp_tunnel_notify(&l2tp_nl_family, info, tunnel, L2TP_CMD_TUNNEL_MODIFY); + l2tp_tunnel_dec_refcount(tunnel); + out: return ret; }