[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b3f268590608230249q653e1dfh1d77c07f6f4e82ce@mail.gmail.com>
Date: Wed, 23 Aug 2006 11:49:22 +0200
From: "Jari Sundell" <sundell.software@...il.com>
To: "Evgeniy Polyakov" <johnpol@....mipt.ru>
Cc: "David Miller" <davem@...emloft.net>, kuznet@....inr.ac.ru,
nmiell@...cast.net, linux-kernel@...r.kernel.org,
drepper@...hat.com, akpm@...l.org, netdev@...r.kernel.org,
zach.brown@...cle.com, hch@...radead.org
Subject: Re: [take12 0/3] kevent: Generic event handling mechanism.
On 8/23/06, Evgeniy Polyakov <johnpol@....mipt.ru> wrote:
> On Wed, Aug 23, 2006 at 10:22:06AM +0200, Jari Sundell (sundell.software@...il.com) wrote:
> > On 8/23/06, Evgeniy Polyakov <johnpol@....mipt.ru> wrote:
> > >void * in structure exported to userspace is forbidden.
> >
> > 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.
> 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?
> 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?
Rakshasa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists