Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp108088ybm; Tue, 26 May 2020 12:00:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzkGOe/GpNISaaq8RyF3a6GAqE3qUbdUwg855ueZMnf4HpYvjT1PX+uWCWEk1BZZHYIkr53 X-Received: by 2002:a17:906:49d9:: with SMTP id w25mr2241245ejv.65.1590519624925; Tue, 26 May 2020 12:00:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590519624; cv=none; d=google.com; s=arc-20160816; b=dGncnF5RzpqfrFFciNBNIFkTM0QdCwnZsMOe3Yrr6sKuwgvMTov3oCD6K64cl67RwD Y2IeuyJTgCzXYdC+hrk5rTiJ/7b79p11eQaRFhkMs2epHK9MWZxgMnSQ1kp5rTlhE6DT 2vza8dz+4soe5d8jnBunPohJRvxFa28f6g3vOWRaZrIdNmZIOzxDHwDqdX4oSBg0U2+f pmQZXVSw5SnTTW13H4+Q6yP3+nKZFlk3xXgAkfvJTMZIr1/UHVXgU+Fu3j+XWvIqPalZ ey7PF6rNICynIryrO/NRMNiT6EUCmZSt7v44b4F5VsD3bHHYu1rV9uCPHp4SPzGevFEg I9Iw== 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=gy5AWtp8qVoYrapA1RWzgIgycFnOQw6RDkX4gn/pJ6QAcZD6ciMV7uS3maI+e6KhT2 a2GHUNghLNPkiS9TmOae3SbkstVBOikoH4Hgd/jiEwqA2yUqR4bmym4DlyPBa4qUBzqS /cZeG0I8Lt5xDT7FgtQ0PQFxVdb1reArbzGSmFFHoeQzrC0Gc4Pl6VxXFDoJomFHa3tL n7X/vm6qecxbKOHaW6ewZEZou08zV3QATP08JhZE/uwkN92fnbyQ8jT/73aRMS1hVrne m+aaB3BhoKre6Hoh0yPxp9aopWugL8TOkuXhXkHyWyFvFA2yK/nDRajQ5e4N0AWzkKH9 thZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=L6T0SUYm; 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 y14si430683edt.220.2020.05.26.12.00.01; Tue, 26 May 2020 12:00:24 -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=L6T0SUYm; 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 S2390024AbgEZS5W (ORCPT + 99 others); Tue, 26 May 2020 14:57:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:50528 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389286AbgEZS5T (ORCPT ); Tue, 26 May 2020 14:57:19 -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 DE9FF20849; Tue, 26 May 2020 18:57:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590519439; bh=KM+T7rK8LxTAusvClFFwqtI7Ma/8JjMwgBpdJRCQE5k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L6T0SUYmJvX9NslT6Ack8RgIRRRYkhvbPWLXkfi2Zx+H2k0Jdgfb5+yJGKW/0AjOk zOLCfrG6YJVmlaRjNVn1d38eVEFkdyqtR0MXjn7VzDFlQJt57wZpm8VJk0K2zp3LwE oWdIoGUqfEIzOe6Ld7+pdXLHQy/ObrZIPltS+DxY= 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.4 51/65] l2tp: hold tunnel while handling genl tunnel updates Date: Tue, 26 May 2020 20:53:10 +0200 Message-Id: <20200526183923.939203552@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200526183905.988782958@linuxfoundation.org> References: <20200526183905.988782958@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; }