Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp3411980pxy; Mon, 26 Apr 2021 00:46:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwhrxgkkpgolSFHWGOX2g9uen0qFM3u6ElUpccaDmHbyfOWFiYj/ZighDzuw0e+q2mKWDUo X-Received: by 2002:a17:90a:b112:: with SMTP id z18mr20437418pjq.18.1619423214333; Mon, 26 Apr 2021 00:46:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619423214; cv=none; d=google.com; s=arc-20160816; b=B4nuigUvRDYgN/KjAx6vDgelwU1+9qZ1OtYiGyG9OxsTAXpgrHJyfEluQ6wU8RhW5j kDNpQXijy3yj9Xo6Op3feTWjCK63lfEI6/z2m9PJM/KMBrQDnrldQ7OCvbxY8Vk32igd KmRLmlLk7tSNDbjzvz0lZFIP5hPBFhNT1WMn+Z1sQpFsaK4rTzAonb/QrsH6AtC1oa4G 8YPn5HghFdipF0ApuO/9QgWxHjDukj3jT7a6cGLePd/r0+quSyARGNNb14K5FxPlnrQg mVG508lwzdhWRRdFc9eYyaUz/zBNHnV6W9c7k2AQL5dNbLLu0J4gJwtAsG+kF1lxTyrx L0jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=YGPVL9E6IlNWJysEty3zOOwYTcKBA9KiKr3VT+JgaaY=; b=ba8E/rooQyV7pW3PCg6N99QHuXJYwStK7j1eOttUL0oc6Uf1xIWHIA4nnP4mbeRkVv hHTimq5QOq8mU2hiM7wzDUohu3N6MTIVjwbtZxU6mE9f7swXqKJkLI+kICwgpH69yvaA KuKfQd8yom6qg3Kc/LGeIAxRboG2FZDWv2gZJXhIdffu0SQCKnfyYdHJjARTu6MPq8kf blzsUg3UHiwqZBE7xBrjW//NRMnAloSS9thh4JtX90s6n5U04emkhkY0MjfZvFc8m7z8 UO0xQy4C0fhI5eUy7qii7JvN5kQ/EvTYPR5Tv4IELnpmiJi1sOaTOPxurIG7y+/ADOyC b7Ng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=I+QNiLki; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r9si20102529pjl.148.2021.04.26.00.46.42; Mon, 26 Apr 2021 00:46:54 -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=@linuxfoundation.org header.s=korg header.b=I+QNiLki; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233243AbhDZHqv (ORCPT + 99 others); Mon, 26 Apr 2021 03:46:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:56258 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233523AbhDZHjn (ORCPT ); Mon, 26 Apr 2021 03:39:43 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8543861041; Mon, 26 Apr 2021 07:37:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1619422672; bh=c3etItYbJNLwhyV+X5QRFBVYf4oOqVzZ7m6Jhhxowvc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=I+QNiLkiLEq+OI2T0XY+CI4z+NrXCnQLLpptD4nLIi6KZStI+0L4NjfLmraV5aBv2 LHH5Ea7LINsPkmUWCg7BjruK/zhrgWeUdUcMV+QXsIaYdtA+/SsAAOZiRVQcZXQGYm iz8Y6+pPsbubpfLtxMe+RqNI2mHyqZ0Wlj0SRefc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hristo Venev , "David S. Miller" Subject: [PATCH 4.19 34/57] net: sit: Unregister catch-all devices Date: Mon, 26 Apr 2021 09:29:31 +0200 Message-Id: <20210426072821.734197259@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210426072820.568997499@linuxfoundation.org> References: <20210426072820.568997499@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hristo Venev commit 610f8c0fc8d46e0933955ce13af3d64484a4630a upstream. A sit interface created without a local or a remote address is linked into the `sit_net::tunnels_wc` list of its original namespace. When deleting a network namespace, delete the devices that have been moved. The following script triggers a null pointer dereference if devices linked in a deleted `sit_net` remain: for i in `seq 1 30`; do ip netns add ns-test ip netns exec ns-test ip link add dev veth0 type veth peer veth1 ip netns exec ns-test ip link add dev sit$i type sit dev veth0 ip netns exec ns-test ip link set dev sit$i netns $$ ip netns del ns-test done for i in `seq 1 30`; do ip link del dev sit$i done Fixes: 5e6700b3bf98f ("sit: add support of x-netns") Signed-off-by: Hristo Venev Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/ipv6/sit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -1818,9 +1818,9 @@ static void __net_exit sit_destroy_tunne if (dev->rtnl_link_ops == &sit_link_ops) unregister_netdevice_queue(dev, head); - for (prio = 1; prio < 4; prio++) { + for (prio = 0; prio < 4; prio++) { int h; - for (h = 0; h < IP6_SIT_HASH_SIZE; h++) { + for (h = 0; h < (prio ? IP6_SIT_HASH_SIZE : 1); h++) { struct ip_tunnel *t; t = rtnl_dereference(sitn->tunnels[prio][h]);