On Fri, 17 Jul 2015 10:32:15 -0400 Steven Rostedt <[email protected]> wrote:
> > @@ -453,7 +454,7 @@ trace_event_define_fields_##call(struct > > trace_event_call *event_call) \ > > __item_length = (len) * sizeof(type); \ > > __data_offsets->item = __data_size + \ > > offsetof(typeof(*entry), __data); \ > > - __data_offsets->item |= __item_length << 16; \ > > + __data_offsets->item |= (len) << 16; \ > > This change affects all callers of dymanic_array, not just bitmasks. This also affects what goes into the trace record and changes what tools expect. That size is to be the size of the entire allocated space, not the size of an individual element or the number of them. > > > __data_size += __item_length; > > > > #undef __string > > BTW, if I revert commit ac01ce1410fc2 "tracing: Make > ftrace_print_array_seq compute buf_len" it works again. > > I'm going to look into this some more, and maybe the answer is to go > back and just pass in buffer length here. I can't see what was broken > before that change. I'm thinking the best thing to do is to revert that patch and make the second argument of __print_array() the size and not the count. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

