Messages in this thread | | | Subject | Re: event tracing, ringbuffer and RB_MAX_SMALL_DATA | From | Johannes Berg <> | Date | Wed, 15 Jul 2009 11:48:25 +0200 |
| |
On Wed, 2009-07-15 at 09:08 +0800, Li Zefan wrote:
> Right, the length of a dynamic array is not recorded, and this > causes 2 problems: > > - the event filter is not working properly for dynamic strings > - userspace parsers can't figure out the length of those arrays > > I had an idea some time ago, and hopefully will send out a > patch today or tomorrow.
Well except for the corner case I pointed out, you can determine the length of dynamic arrays by either - the next dynamic array's offset or - the length of the item.
So, afaict, the simplest solution would be to not embed the length of the item in type_len if it's not divisible by four and contains dynamic members, though the latter condition might be hard to check.
johannes [unhandled content-type:application/pgp-signature] | |