Re: [PATCH 01/13] [RFC] ipath basic headers

From: Andi Kleen
Date: Sat Dec 17 2005 - 22:24:36 EST


ebiederm@xxxxxxxxxxxx (Eric W. Biederman) writes:

> Christoph Hellwig <hch@xxxxxxxxxxxxx> writes:
>
> > please always used fixes-size types for user communication. also please
> > avoid ioctls like the rest of the IB codebase.
>
> Could someone please explain to me how the uverbs abuse of write
> is better that ioctl?

It's actually worse because if they have a 32bit compat issue
then ioctl can be fixed up, but read/write can't.

I wish the people arguing against ioctl all the time would
just stop that because the alternatives are usually worse.

> - 64bit compilers will not pad every structure to 8 bytes. This
> only will happen if you happen to have an 8 byte element in your
> structure that is only aligned to 32bits by a 32bit structure.
> Unfortunately the 32bit gcc only aligns long long to 32bits on
> x86, which triggers the described behavior.

Exactly - and driver writers usually don't get that right so we
need to have a tool to fix it up in the end. And with ioctl
that's easiest.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/