Re: [PATCH -mm 1/3] swsusp: Add ioctl for swap files support



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages