aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/events/core.c2
-rw-r--r--kernel/events/internal.h2
-rw-r--r--kernel/events/ring_buffer.c6
3 files changed, 5 insertions, 5 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 284232edf9be..5aeb4c74fb99 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -5468,7 +5468,7 @@ static void perf_mmap_close(struct vm_area_struct *vma)
5468 5468
5469 /* this has to be the last one */ 5469 /* this has to be the last one */
5470 rb_free_aux(rb); 5470 rb_free_aux(rb);
5471 WARN_ON_ONCE(atomic_read(&rb->aux_refcount)); 5471 WARN_ON_ONCE(refcount_read(&rb->aux_refcount));
5472 5472
5473 mutex_unlock(&event->mmap_mutex); 5473 mutex_unlock(&event->mmap_mutex);
5474 } 5474 }
diff --git a/kernel/events/internal.h b/kernel/events/internal.h
index 4718de2a04e6..79c47076700a 100644
--- a/kernel/events/internal.h
+++ b/kernel/events/internal.h
@@ -49,7 +49,7 @@ struct ring_buffer {
49 atomic_t aux_mmap_count; 49 atomic_t aux_mmap_count;
50 unsigned long aux_mmap_locked; 50 unsigned long aux_mmap_locked;
51 void (*free_aux)(void *); 51 void (*free_aux)(void *);
52 atomic_t aux_refcount; 52 refcount_t aux_refcount;
53 void **aux_pages; 53 void **aux_pages;
54 void *aux_priv; 54 void *aux_priv;
55 55
diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c
index 0a71d16ca41b..805f0423ee0b 100644
--- a/kernel/events/ring_buffer.c
+++ b/kernel/events/ring_buffer.c
@@ -357,7 +357,7 @@ void *perf_aux_output_begin(struct perf_output_handle *handle,
357 if (!atomic_read(&rb->aux_mmap_count)) 357 if (!atomic_read(&rb->aux_mmap_count))
358 goto err; 358 goto err;
359 359
360 if (!atomic_inc_not_zero(&rb->aux_refcount)) 360 if (!refcount_inc_not_zero(&rb->aux_refcount))
361 goto err; 361 goto err;
362 362
363 /* 363 /*
@@ -670,7 +670,7 @@ int rb_alloc_aux(struct ring_buffer *rb, struct perf_event *event,
670 * we keep a refcount here to make sure either of the two can 670 * we keep a refcount here to make sure either of the two can
671 * reference them safely. 671 * reference them safely.
672 */ 672 */
673 atomic_set(&rb->aux_refcount, 1); 673 refcount_set(&rb->aux_refcount, 1);
674 674
675 rb->aux_overwrite = overwrite; 675 rb->aux_overwrite = overwrite;
676 rb->aux_watermark = watermark; 676 rb->aux_watermark = watermark;
@@ -689,7 +689,7 @@ out:
689 689
690void rb_free_aux(struct ring_buffer *rb) 690void rb_free_aux(struct ring_buffer *rb)
691{ 691{
692 if (atomic_dec_and_test(&rb->aux_refcount)) 692 if (refcount_dec_and_test(&rb->aux_refcount))
693 __rb_free_aux(rb); 693 __rb_free_aux(rb);
694} 694}
695 695