lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 14 Jul 2017 11:01:35 +0530 From: Pratyush Anand <panand@...hat.com> To: Felipe Balbi <felipe.balbi@...ux.intel.com>, Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Steven Rostedt <rostedt@...dmis.org>, Ingo Molnar <mingo@...hat.com> Cc: Linux USB <linux-usb@...r.kernel.org>, linux-kernel@...r.kernel.org, Chunyan Zhang <zhang.chunyan@...aro.org> Subject: Re: [PATCH] usb: gadget: functions: add ftrace export over USB Hi Felipe, On Friday 09 June 2017 11:43 AM, Felipe Balbi wrote: > +static void notrace ftrace_write(struct trace_export *ftrace, const void *buf, > + unsigned int len) > +{ > + struct usb_ftrace *trace = ftrace_to_trace(ftrace); > + struct usb_request *req = next_request(&trace->list); > + > + if (!req) > + return; > + > + if (!trace->in->enabled) > + return; > + > + req->buf = kmemdup(buf, len, GFP_ATOMIC); Probably we can avoid the copy of trace data. We can make write() call of "struct trace_export" as posted. Can have a write_complete() callback function implemented in struct trace_export,which can be called from your ftrace_complete(). We need to execute __buffer_unlock_commit() only in write_complete() in case of ftrace_export is enabled. > + req->length = len; > + req->context = trace; > + req->complete = ftrace_complete; > + list_move_tail(&req->list, &trace->pending); > + > + schedule_work(&trace->queue_work); > +} > + -- Pratyush
Powered by blists - more mailing lists