On Wed, Aug 23, 2006 at 11:49:22AM +0200, Jari Sundell ([EMAIL PROTECTED]) wrote: > >> Only void * I'm seeing belongs to the user, (udata) perhaps you are > >> talking of something different? > > > >Yes, exactly about it. > > > >I put union { > > u32 a[2]; > > void *b; > >} > >epcially to eliminate that problem. > > It's just random data of a known maximum size appended to the struct, > I'm sure you can find a clean way to handle it. If you mangle the > first variable name in your union, you'll end up with something that > should be usable instead of udata.
If there will be usual pointer, size of the whole structure will be different in kernel and userspace. > >And I'm not that sure aboit stuff like uptr_t or how they call pointers > >in userspace and kernelspace. > > Well, I can't find any use of pointers in your struct ukevent, nor in > any of the kqueue events in my man page. So if this is a deficit it > applies to both, I guess? No, it will change sizes of the structure in kernelspace and userspace, so they just can not communicate. > >ukevent is aligned to 8 bytes already (it's size selected to be 40 bytes), > >so it should not be a problem. > > > >> Eric > > Even if it is so, wouldn't it be better to be explicit about it? Ok, I will add a comment about it. > Rakshasa -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html