On Thu, Feb 16, 2017 at 11:28:24AM +0100, Peter Zijlstra wrote:
> On Wed, Feb 08, 2017 at 02:01:24PM +0530, Hari Bathini wrote:
> > @@ -862,6 +886,18 @@ enum perf_event_type {
> >      */
> >     PERF_RECORD_SWITCH_CPU_WIDE             = 15,
> >  
> > +   /*
> > +    * struct {
> > +    *      struct perf_event_header        header;
> > +    *      u32                             pid;
> > +    *      u32                             tid;
> > +    *      u32                             nr_namespaces;
> > +    *      struct namespace_link_info      link_info[NAMESPACES_MAX];
> > +    *      struct sample_id                sample_id;
> > +    * };
> > +    */
> > +   PERF_RECORD_NAMESPACES                  = 16,
> 
> This thing works by accident, there's a u32 hole in that structure.
> Also, the array isn't NAMESPACES_MAX long, its nr_namespaces, that's
> what its there for. The entries should be internally consistent.

Also, namespace_link_info isn't specified.

Easies would be to write something like:

        { char name[8];
          u64  inode;
          u64  dev;    }[nr_namespace];


Reply via email to