Lines Matching refs:tinfo
6565 void trace_user_fault_destroy(struct trace_user_buf_info *tinfo) in trace_user_fault_destroy() argument
6570 if (!tinfo || !tinfo->tbuf) in trace_user_fault_destroy()
6574 buf = per_cpu_ptr(tinfo->tbuf, cpu)->buf; in trace_user_fault_destroy()
6577 free_percpu(tinfo->tbuf); in trace_user_fault_destroy()
6580 static int user_fault_buffer_enable(struct trace_user_buf_info *tinfo, size_t size) in user_fault_buffer_enable() argument
6587 tinfo->tbuf = alloc_percpu(struct trace_user_buf); in user_fault_buffer_enable()
6588 if (!tinfo->tbuf) in user_fault_buffer_enable()
6591 tinfo->ref = 1; in user_fault_buffer_enable()
6592 tinfo->size = size; in user_fault_buffer_enable()
6596 per_cpu_ptr(tinfo->tbuf, cpu)->buf = NULL; in user_fault_buffer_enable()
6604 per_cpu_ptr(tinfo->tbuf, cpu)->buf = buf; in user_fault_buffer_enable()
6611 static void user_buffer_free(struct trace_user_buf_info **tinfo) in user_buffer_free() argument
6615 trace_user_fault_destroy(*tinfo); in user_buffer_free()
6616 kfree(*tinfo); in user_buffer_free()
6617 *tinfo = NULL; in user_buffer_free()
6621 static int user_buffer_init(struct trace_user_buf_info **tinfo, size_t size) in user_buffer_init() argument
6628 if (!*tinfo) { in user_buffer_init()
6630 *tinfo = kzalloc_obj(**tinfo); in user_buffer_init()
6631 if (!*tinfo) in user_buffer_init()
6635 ret = user_fault_buffer_enable(*tinfo, size); in user_buffer_init()
6637 user_buffer_free(tinfo); in user_buffer_init()
6643 static void user_buffer_put(struct trace_user_buf_info **tinfo) in user_buffer_put() argument
6647 if (WARN_ON_ONCE(!*tinfo || !(*tinfo)->ref)) in user_buffer_put()
6650 if (--(*tinfo)->ref) in user_buffer_put()
6653 user_buffer_free(tinfo); in user_buffer_put()
6670 int trace_user_fault_init(struct trace_user_buf_info *tinfo, size_t size) in trace_user_fault_init() argument
6674 if (!tinfo) in trace_user_fault_init()
6679 ret = user_buffer_init(&tinfo, size); in trace_user_fault_init()
6681 trace_user_fault_destroy(tinfo); in trace_user_fault_init()
6694 int trace_user_fault_get(struct trace_user_buf_info *tinfo) in trace_user_fault_get() argument
6696 if (!tinfo) in trace_user_fault_get()
6701 tinfo->ref++; in trace_user_fault_get()
6702 return tinfo->ref; in trace_user_fault_get()
6713 int trace_user_fault_put(struct trace_user_buf_info *tinfo) in trace_user_fault_put() argument
6717 if (WARN_ON_ONCE(!tinfo || !tinfo->ref)) in trace_user_fault_put()
6720 --tinfo->ref; in trace_user_fault_put()
6721 return tinfo->ref; in trace_user_fault_put()
6756 char *trace_user_fault_read(struct trace_user_buf_info *tinfo, in trace_user_fault_read() argument
6761 char *buffer = per_cpu_ptr(tinfo->tbuf, cpu)->buf; in trace_user_fault_read()
6772 if (size > tinfo->size) in trace_user_fault_read()
6800 buffer = per_cpu_ptr(tinfo->tbuf, cpu)->buf; in trace_user_fault_read()