lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87inrpkceq.fsf@xmission.com>
Date:   Mon, 14 Nov 2016 14:57:17 -0600
From:   ebiederm@...ssion.com (Eric W. Biederman)
To:     Peter Zijlstra <peterz@...radead.org>
Cc:     Hari Bathini <hbathini@...ux.vnet.ibm.com>, ast@...com,
        lkml <linux-kernel@...r.kernel.org>, acme@...nel.org,
        alexander.shishkin@...ux.intel.com, mingo@...hat.com,
        daniel@...earbox.net, rostedt@...dmis.org,
        Ananth N Mavinakayanahalli <ananth@...ux.vnet.ibm.com>,
        sargun@...gun.me, Aravinda Prasad <aravinda@...ux.vnet.ibm.com>,
        brendan.d.gregg@...il.com
Subject: Re: [PATCH 1/3] perf: add PERF_RECORD_NAMESPACES to include namespaces related info

Peter Zijlstra <peterz@...radead.org> writes:

> On Mon, Nov 14, 2016 at 04:02:30PM +0530, Hari Bathini wrote:
>
>> >>  	PERF_RECORD_SWITCH_CPU_WIDE		= 15,
>> >>+	/*
>> >>+	 * struct {
>> >>+	 *	struct perf_event_header	header;
>> >>+	 *
>> >>+	 *	u32				pid, tid;
>> >>+	 *	u64				time;
>> >>+	 *	u32				uts_ns_inum;
>> >>+	 *	u32				ipc_ns_inum;
>> >>+	 *	u32				mnt_ns_inum;
>> >>+	 *	u32				pid_ns_inum;
>> >>+	 *	u32				net_ns_inum;
>> >>+	 *	u32				cgroup_ns_inum;
>> >>+	 *	u32				user_ns_inum;
>> >>+	 * 	struct sample_id		sample_id;
>> >>+	 * };
>> >>+	 */
>> >>+	PERF_RECORD_NAMESPACES			= 16,
>> >So this format is not extensible, that is, if someone adds yet another
>> >namespace, we'll need to introduce PERF_RECORD_NAMESPACES2.
>> >
>> >Is there a 'natural' and exposed namespace index that we can use to
>> >change it like:
>> >
>> >	u32	nr_nss;
>> >	u32	namespace[nr_nss];
>> >
>> >?
>> 
>> Nothing of that sort exists, currently.
>> Maybe, time to introduce with this patch-set..?
>
> Would be good, but you'll have to sort that with the namespace folks.

The somewhat easy answer is to use the unshare flags.  AKA CLONE_NEWNS,
CLONE_NEWUSER, ...

In the worst case things may get extended to the point where perf would
have to use a different set of values than we use to unshare, clone, and
setns (as the clone flags are effectively all used up) but for the
existing namespaces that index should work just fine.

That won't allow for a natural array in the record but it will allow for
an array with that has a tag for which namespace it is in, or
alternative it will allow for one record per namespace.

Eric

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ