From 015e32c130300605f288fe21f9ac98a0bf687fbf Mon Sep 17 00:00:00 2001 From: Matthew Wilcox Date: Sat, 6 Sep 2003 19:43:46 -0700 Subject: [PATCH] use size_t for the broken ioctl numbers The ioctl number-generating macros should be used like #define XXXX _IOR(n,x,type-of-arg) which generates an ioctl number that has the size of the argument encoded within it. But there are a number of ioctl #defines that look like #define XXXX _IOR(n,x,sizeof(type-of-arg)) which is very wrong: the _IO/_IOR/_IOW/_IOWR macros will do the sizeof() on the argtype themselves, so the end result is that we will be doing a sizeof(sizeof(argtype)), ie a sizeof(size_t). In other words, the argtype didn't matter at all, and ended up totally pointless. Clearly it's too late to change the ioctl definitions, but we can at least stop people from copying them and making the same mistake. --- include/linux/input.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/linux/input.h') diff --git a/include/linux/input.h b/include/linux/input.h index da49f7ee0f18..770644b05c59 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -73,7 +73,7 @@ struct input_absinfo { #define EVIOCGABS(abs) _IOR('E', 0x40 + abs, struct input_absinfo) /* get abs value/limits */ #define EVIOCSABS(abs) _IOW('E', 0xc0 + abs, struct input_absinfo) /* set abs value/limits */ -#define EVIOCSFF _IOC(_IOC_WRITE, 'E', 0x80, sizeof(struct ff_effect)) /* send a force effect to a force feedback device */ +#define EVIOCSFF _IOC(_IOC_WRITE, 'E', 0x80, size_t) /* send a force effect to a force feedback device */ #define EVIOCRMFF _IOW('E', 0x81, int) /* Erase a force effect */ #define EVIOCGEFFECTS _IOR('E', 0x84, int) /* Report number of effects playable at the same time */ -- cgit v1.2.3