Messages in this thread | | | Date | Thu, 01 Mar 2012 09:47:10 -0500 | From | Mark Lord <> | Subject | Re: Linux 3.3-rc5 |
| |
On 12-02-28 01:30 PM, Linus Torvalds wrote: > On Mon, Feb 27, 2012 at 7:23 AM, Mark Lord <kernel@teksavvy.com> wrote: >> >> The i8k driver is still b0rked for COMPAT use in linux-3.2.xx, >> and I don't think my patch got picked up by anyone for 3.3 yet: > > I really don't like your patch. ..
Heh, I think we agree on that point. I hate it. :)
> Quite frankly, I think the right solution is to fix the kernel > interface to the right type (int) that is the same. But because we > don't want to change the user interface, let's make the kernel > *accept* the 8-byte entity and just change it into a 4-byte size, and > leave the user-space visible ioctl numbers the same broken crap - it's > not like the other ioctl numbers had the right size *either*... > > IOW, have something like the attached in the ioctl handler (and then > we need to also add the compat handler, as in your patch). > > Does this (with your compat_ioctl wrapper addition) also work for you?
It's close (after adding a missing left-paren), but not 100% working yet. In particular, this command fails to get valid data: i8kctl bios
ioctl(3, I8K_BIOS_VERSION, 0xbfc543c8) = -1 EINVAL (Invalid argument)
That's the original issue I first noticed which prompted me to try and get things to roughly behave again.
I think all (or at least most) of the other ioctls appear to be working though.
| |