Lines Matching full:area
54 /* The lock protects mode, size, area and t. */
60 void *area; member
65 /* Size of remote area (in long's). */
132 struct kcov_remote_area *area; in kcov_remote_area_get() local
136 area = list_entry(pos, struct kcov_remote_area, list); in kcov_remote_area_get()
137 if (area->size == size) { in kcov_remote_area_get()
138 list_del(&area->list); in kcov_remote_area_get()
139 return area; in kcov_remote_area_get()
146 static void kcov_remote_area_put(struct kcov_remote_area *area, in kcov_remote_area_put() argument
149 INIT_LIST_HEAD(&area->list); in kcov_remote_area_put()
150 area->size = size; in kcov_remote_area_put()
151 list_add(&area->list, &kcov_remote_areas); in kcov_remote_area_put()
192 unsigned long *area; in __sanitizer_cov_trace_pc() local
200 area = t->kcov_area; in __sanitizer_cov_trace_pc()
202 pos = READ_ONCE(area[0]) + 1; in __sanitizer_cov_trace_pc()
204 area[pos] = ip; in __sanitizer_cov_trace_pc()
205 WRITE_ONCE(area[0], pos); in __sanitizer_cov_trace_pc()
214 u64 *area; in write_comp_data() local
227 area = (u64 *)t->kcov_area; in write_comp_data()
230 count = READ_ONCE(area[0]); in write_comp_data()
236 area[start_index] = type; in write_comp_data()
237 area[start_index + 1] = arg1; in write_comp_data()
238 area[start_index + 2] = arg2; in write_comp_data()
239 area[start_index + 3] = ip; in write_comp_data()
240 WRITE_ONCE(area[0], count + 1); in write_comp_data()
326 unsigned int size, void *area, enum kcov_mode mode, in kcov_start() argument
329 kcov_debug("t = %px, size = %u, area = %px\n", t, size, area); in kcov_start()
333 t->kcov_area = area; in kcov_start()
408 vfree(kcov->area); in kcov_put()
459 void *area; in kcov_mmap() local
465 area = vmalloc_user(vma->vm_end - vma->vm_start); in kcov_mmap()
466 if (!area) in kcov_mmap()
476 if (!kcov->area) { in kcov_mmap()
477 kcov->area = area; in kcov_mmap()
481 page = vmalloc_to_page(kcov->area + off); in kcov_mmap()
489 vfree(area); in kcov_mmap()
529 * Fault in a lazily-faulted vmalloc area before it can be used by
536 unsigned long *area = kcov->area; in kcov_fault_in_area() local
540 READ_ONCE(area[offset]); in kcov_fault_in_area()
597 if (kcov->mode != KCOV_MODE_INIT || !kcov->area) in kcov_ioctl_locked()
607 kcov_start(t, kcov, kcov->size, kcov->area, kcov->mode, in kcov_ioctl_locked()
625 if (kcov->mode != KCOV_MODE_INIT || !kcov->area) in kcov_ioctl_locked()
766 * provided handle, allocates an area for coverage collection, and saves the
767 * pointers to kcov and area into the current task_struct to allow coverage to
770 * collecting coverage and copies all collected coverage into the kcov area.
817 void *area; in kcov_remote_start() local
867 area = kcov_remote_area_get(size); in kcov_remote_start()
870 area = this_cpu_ptr(&kcov_percpu_data)->irq_area; in kcov_remote_start()
875 if (!area) { in kcov_remote_start()
876 area = vmalloc(size * sizeof(unsigned long)); in kcov_remote_start()
877 if (!area) { in kcov_remote_start()
886 *(u64 *)area = 0; in kcov_remote_start()
892 kcov_start(t, kcov, size, area, mode, sequence); in kcov_remote_start()
960 void *area; in kcov_remote_stop() local
991 area = t->kcov_area; in kcov_remote_stop()
1007 kcov_move_area(kcov->mode, kcov->area, kcov->size, area); in kcov_remote_stop()
1012 kcov_remote_area_put(area, size); in kcov_remote_stop()
1035 void *area = vmalloc(CONFIG_KCOV_IRQ_AREA_SIZE * in kcov_init() local
1037 if (!area) in kcov_init()
1039 per_cpu_ptr(&kcov_percpu_data, cpu)->irq_area = area; in kcov_init()