Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752141AbdLFTkI (ORCPT ); Wed, 6 Dec 2017 14:40:08 -0500 Received: from shards.monkeyblade.net ([184.105.139.130]:54174 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751463AbdLFTkF (ORCPT ); Wed, 6 Dec 2017 14:40:05 -0500 Date: Wed, 06 Dec 2017 14:40:03 -0500 (EST) Message-Id: <20171206.144003.2119311447846512879.davem@davemloft.net> To: cernekee@chromium.org Cc: johannes.berg@intel.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, daniel@iogearbox.net Subject: Re: [PATCH] netlink: Add netns check on taps From: David Miller In-Reply-To: <1512513982-20407-1-git-send-email-cernekee@chromium.org> References: <1512513982-20407-1-git-send-email-cernekee@chromium.org> X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Wed, 06 Dec 2017 11:40:04 -0800 (PST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1190 Lines: 33 From: Kevin Cernekee Date: Tue, 5 Dec 2017 14:46:22 -0800 > Currently, a nlmon link inside a child namespace can observe systemwide > netlink activity. Filter the traffic so that in a non-init netns, > nlmon can only sniff netlink messages from its own netns. > > Test case: > > vpnns -- bash -c "ip link add nlmon0 type nlmon; \ > ip link set nlmon0 up; \ > tcpdump -i nlmon0 -q -w /tmp/nlmon.pcap -U" & > sudo ip xfrm state add src 10.1.1.1 dst 10.1.1.2 proto esp \ > spi 0x1 mode transport \ > auth sha1 0x6162633132330000000000000000000000000000 \ > enc aes 0x00000000000000000000000000000000 > grep abc123 /tmp/nlmon.pcap > > Signed-off-by: Kevin Cernekee Daniel, what behavior did you intend this to have? Taps can see their own namespace only, or init_net is special and can see all netlink activity. I think letting init_net see everything could be confusing, because there is no way to distinguish netlink events by namespace just by looking at the messages that arrive at the tap right? So maybe own-namespace-only is the way to go. Thanks.