Am Saturday 30 September 2006 21:58 schrieb Rafael J. Wysocki:
> > Your definition looks wrong, '_IOW(SNAPSHOT_IOC_MAGIC, 13, void *)' means
> > your ioctl passes a pointer to a 'void *'.
> >
> > You probably mean
> >
> > #define SNAPSHOT_SET_SWAP_AREA _IOW(SNAPSHOT_IOC_MAGIC, 13, \
> > struct resume_swap_area)
>
> No. I mean the ioctl passes a pointer, the size of which is sizeof(void *).
That's a very bad thing to do. It means that the ioctl number is different
between 32 and 64 bit and you need to write a conversion handler that
first reads your pointer and then then writes the real data.
Also, it needs to be at least _IOR() in the case you're describing,
because the pointer is read, not written (I hope).
Arnd <><
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]