diff options
Diffstat (limited to 'kernel/hw_breakpoint.c')
| -rw-r--r-- | kernel/hw_breakpoint.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/kernel/hw_breakpoint.c b/kernel/hw_breakpoint.c index 967e66143e11..03808ed342a6 100644 --- a/kernel/hw_breakpoint.c +++ b/kernel/hw_breakpoint.c | |||
| @@ -413,17 +413,17 @@ EXPORT_SYMBOL_GPL(unregister_hw_breakpoint); | |||
| 413 | * | 413 | * |
| 414 | * @return a set of per_cpu pointers to perf events | 414 | * @return a set of per_cpu pointers to perf events |
| 415 | */ | 415 | */ |
| 416 | struct perf_event ** | 416 | struct perf_event * __percpu * |
| 417 | register_wide_hw_breakpoint(struct perf_event_attr *attr, | 417 | register_wide_hw_breakpoint(struct perf_event_attr *attr, |
| 418 | perf_overflow_handler_t triggered) | 418 | perf_overflow_handler_t triggered) |
| 419 | { | 419 | { |
| 420 | struct perf_event **cpu_events, **pevent, *bp; | 420 | struct perf_event * __percpu *cpu_events, **pevent, *bp; |
| 421 | long err; | 421 | long err; |
| 422 | int cpu; | 422 | int cpu; |
| 423 | 423 | ||
| 424 | cpu_events = alloc_percpu(typeof(*cpu_events)); | 424 | cpu_events = alloc_percpu(typeof(*cpu_events)); |
| 425 | if (!cpu_events) | 425 | if (!cpu_events) |
| 426 | return ERR_PTR(-ENOMEM); | 426 | return (void __percpu __force *)ERR_PTR(-ENOMEM); |
| 427 | 427 | ||
| 428 | get_online_cpus(); | 428 | get_online_cpus(); |
| 429 | for_each_online_cpu(cpu) { | 429 | for_each_online_cpu(cpu) { |
| @@ -451,7 +451,7 @@ fail: | |||
| 451 | put_online_cpus(); | 451 | put_online_cpus(); |
| 452 | 452 | ||
| 453 | free_percpu(cpu_events); | 453 | free_percpu(cpu_events); |
| 454 | return ERR_PTR(err); | 454 | return (void __percpu __force *)ERR_PTR(err); |
| 455 | } | 455 | } |
| 456 | EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint); | 456 | EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint); |
| 457 | 457 | ||
| @@ -459,7 +459,7 @@ EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint); | |||
| 459 | * unregister_wide_hw_breakpoint - unregister a wide breakpoint in the kernel | 459 | * unregister_wide_hw_breakpoint - unregister a wide breakpoint in the kernel |
| 460 | * @cpu_events: the per cpu set of events to unregister | 460 | * @cpu_events: the per cpu set of events to unregister |
| 461 | */ | 461 | */ |
| 462 | void unregister_wide_hw_breakpoint(struct perf_event **cpu_events) | 462 | void unregister_wide_hw_breakpoint(struct perf_event * __percpu *cpu_events) |
| 463 | { | 463 | { |
| 464 | int cpu; | 464 | int cpu; |
| 465 | struct perf_event **pevent; | 465 | struct perf_event **pevent; |
| @@ -489,5 +489,4 @@ struct pmu perf_ops_bp = { | |||
| 489 | .enable = arch_install_hw_breakpoint, | 489 | .enable = arch_install_hw_breakpoint, |
| 490 | .disable = arch_uninstall_hw_breakpoint, | 490 | .disable = arch_uninstall_hw_breakpoint, |
| 491 | .read = hw_breakpoint_pmu_read, | 491 | .read = hw_breakpoint_pmu_read, |
| 492 | .unthrottle = hw_breakpoint_pmu_unthrottle | ||
| 493 | }; | 492 | }; |
