From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753784AbbKBTEd (ORCPT ); Mon, 2 Nov 2015 14:04:33 -0500 Received: from smtprelay0056.hostedemail.com ([216.40.44.56]:49240 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754543AbbKBTEZ (ORCPT ); Mon, 2 Nov 2015 14:04:25 -0500 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::,RULES_HIT:41:355:379:541:599:800:960:966:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2196:2199:2393:2553:2559:2562:3138:3139:3140:3141:3142:3352:3622:3865:3866:3870:4385:5007:6119:6261:7514:7875:7903:9010:10004:10400:10848:10967:11026:11232:11473:11658:11914:12043:12296:12438:12517:12519:12740:13069:13255:13311:13357:13972:14096:14097:21080:30051:30054:30062:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:2,LUA_SUMMARY:none X-HE-Tag: start39_9606b8d03935 X-Filterd-Recvd-Size: 2194 Date: Mon, 2 Nov 2015 14:04:23 -0500 From: Steven Rostedt To: Jiaxing Wang Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/3] tracing: Apply tracer specific options from kernel command line. Message-ID: <20151102140423.15f1fa60@gandalf.local.home> In-Reply-To: <1445169490-18315-4-git-send-email-hello.wjx@gmail.com> References: <1445169490-18315-1-git-send-email-hello.wjx@gmail.com> <1445169490-18315-4-git-send-email-hello.wjx@gmail.com> X-Mailer: Claws Mail 3.12.0 (GTK+ 2.24.28; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 18 Oct 2015 19:58:10 +0800 Jiaxing Wang wrote: > +static int __init apply_trace_boot_options(void) > +{ > + char *option; > + char *buf; > + char *str; > + size_t len; > + > + if (trace_boot_options) { > + len = strlen(trace_boot_options); > + > + buf = str = kmalloc(len + 1, GFP_KERNEL); > + if (!buf) > + return -ENOMEM; > + > + memcpy(buf, trace_boot_options, len + 1); > + > + while (str) { > + option = strsep(&str, ","); > + trace_set_options(&global_trace, option); > + } > + > + kfree(buf); Instead of allocating a buffer, do what I do in early_enable_events() (see trace_events.c), where I put back the ',' after processing. -- Steve > + } > + > + return 0; > +} > + > static ssize_t > tracing_trace_options_write(struct file *filp, const char __user *ubuf, > size_t cnt, loff_t *ppos) > @@ -7153,12 +7185,7 @@ __init static int tracer_alloc_buffers(void) > INIT_LIST_HEAD(&global_trace.events); > list_add(&global_trace.list, &ftrace_trace_arrays); > > - while (trace_boot_options) { > - char *option; > - > - option = strsep(&trace_boot_options, ","); > - trace_set_options(&global_trace, option); > - } > + apply_trace_boot_options(); > > register_snapshot_cmd(); >