Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH 3/5] perf_counter: rework ioctl()s | Date | Tue, 12 May 2009 01:58:45 +0200 |
| |
On Friday 08 May 2009, Peter Zijlstra wrote: > -#define PERF_COUNTER_IOC_ENABLE _IO ('$', 0) > -#define PERF_COUNTER_IOC_DISABLE _IO ('$', 1) > +#define PERF_COUNTER_IOC_ENABLE _IOW('$', 0, u32) > +#define PERF_COUNTER_IOC_DISABLE _IOW('$', 1, u32) > #define PERF_COUNTER_IOC_REFRESH _IOW('$', 2, u32) > -#define PERF_COUNTER_IOC_RESET _IO ('$', 3) > +#define PERF_COUNTER_IOC_RESET _IOW('$', 3, u32)
These ioctl definitions look malformed: _IOW('$', 0, u32) means that the ioctl will read a u32 in user space pointed to by (u32 __user *)arg, while what perf_ioctl actually does is cast arg to a u32. Moreover, exported headers should use __u32 instead of u32.
PERF_COUNTER_IOC_REFRESH apparently was broken already, this patch also breaks the other definitions.
Arnd <>< -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |