/* don't engage with tstring when printf, use buffer directly */ static int kplib_printf(ktap_state *ks) { struct trace_seq *seq; preempt_disable_notrace(); seq = kp_percpu_data(ks, KTAP_PERCPU_DATA_BUFFER); trace_seq_init(seq); if (kp_str_fmt(ks, seq)) goto out; seq->buffer[seq->len] = '\0'; kp_transport_write(ks, seq->buffer, seq->len + 1); out: preempt_enable_notrace(); return 0; }
/* don't engage with intern string in printf, use buffer directly */ static int kplib_printf(ktap_state_t *ks) { struct trace_seq *seq; preempt_disable_notrace(); seq = kp_this_cpu_print_buffer(ks); trace_seq_init(seq); if (kp_str_fmt(ks, seq)) goto out; seq->buffer[seq->len] = '\0'; kp_transport_write(ks, seq->buffer, seq->len + 1); out: preempt_enable_notrace(); return 0; }