perf: Fix incorrect copy_from_user() usage
perf events: repair incorrect use of copy_from_user This makes the perf_event_period() return 0 instead of -EFAULT on success. Signed-off-by: John Blackwood<john.blackwood@ccur.com> Signed-off-by: Joe Korty <joe.korty@ccur.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20100928220311.GA18145@tsunami.ccur.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
29979aa8bd
commit
ad0cf3478d
|
@ -2202,15 +2202,13 @@ static void perf_event_for_each(struct perf_event *event,
|
|||
static int perf_event_period(struct perf_event *event, u64 __user *arg)
|
||||
{
|
||||
struct perf_event_context *ctx = event->ctx;
|
||||
unsigned long size;
|
||||
int ret = 0;
|
||||
u64 value;
|
||||
|
||||
if (!event->attr.sample_period)
|
||||
return -EINVAL;
|
||||
|
||||
size = copy_from_user(&value, arg, sizeof(value));
|
||||
if (size != sizeof(value))
|
||||
if (copy_from_user(&value, arg, sizeof(value)))
|
||||
return -EFAULT;
|
||||
|
||||
if (!value)
|
||||
|
|
Loading…
Reference in New Issue