From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756714AbbJ2GY2 (ORCPT ); Thu, 29 Oct 2015 02:24:28 -0400 Received: from mail-by2on0131.outbound.protection.outlook.com ([207.46.100.131]:30356 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756692AbbJ2GYR (ORCPT ); Thu, 29 Oct 2015 02:24:17 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=freescale.com; Date: Thu, 29 Oct 2015 14:22:37 +0800 From: Peter Chen To: Jason Baron CC: , , Subject: Re: [PATCH 1/2] dynamic_debug: fix boot parameters parse Message-ID: <20151029062236.GA8367@shlinux2> References: <1445931626-11158-1-git-send-email-peter.chen@freescale.com> <5630D917.7010607@akamai.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <5630D917.7010607@akamai.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD022;1:0wEvQRU1FqWR3SN6Z9AKmQqR0u7QxRMGluUOHw2zHEIe0sJzaHLoo3GCQ5IBppzvKfhEv2fqiCqsKnmIwAa88bcx3Xo9DXc4XcfmKfw9VFFEHAKtZ2SOwBlOBnOTy2rO1DOBN/tU9DbulSApo1j58lbn4aGjp4ybnXqk22N0bhvlTF/cU1QdiMjIuCxVNOQNzWpx/Z6TpfAWzP6Uc91tIMFGZyL5g1AnF/PODSazvIdW6swkL1HiBqYxBJttyjLoCQj6i0J1VXX1eanGeJaxMV122k0a5PrQQLqHhPvL1dIbVAracXO+u3JaCHx9Xb3FvCYsfQNNVbpghTcWDwQZ0bHUpe56Lyt+nD+sp1NFNga/UiQIqlils9ppchU9wl4F X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1110001)(1109001)(339900001)(199003)(164054003)(377454003)(479174004)(24454002)(189002)(50466002)(104016004)(81156007)(5008740100001)(2950100001)(4001350100001)(97756001)(6806005)(77096005)(106466001)(87936001)(19580405001)(23726002)(5007970100001)(105606002)(33716001)(19580395003)(92566002)(83506001)(76176999)(33656002)(85426001)(47776003)(86362001)(46406003)(54356999)(97736004)(50986999)(189998001)(5001960100002)(110136002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN3PR0301MB1268;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1268;2:lhpO4jireD4kCQ7kq91u123l4X933YNHJv01xSgfnQfRWUdOcnF/6qn9sPeY/KDLIxv+oQVK9wT+1lj6KeuKIN7GqCcozLWonksVyovAVIvJLaEVn47w6Asewasuk87av8w0Eb7FeYBdzN16GaDi3sgI1ibR8RLhFOoGqMix7eE=;3:pSEF8E/0TqVmieovoBkCAn5D58uVFLrgFWxiuy4HNABv8MFRyoKeyLwxGHBssvV28VrrtXyu3KykH6okb3HVA6TYmjL1SEVhtYouc5vBVgZjTzJlK9DbRbWL+uOl97ti2kkyP7yRVMUS6DgK0UObo3rvYKOqkwMh8SiiDXUmqZK6e0PhycX59QUxKwnDoT+Z8U+RtN6v8hBrk/F07CMEEM3vzzIQjhfMh56NQLCnLGc=;25:ORP8rJhpnSHA1LQHQvXw+vrjAm7l59Zm/mD7Knxme5bsem3xFxNIOsmqI8bTqK7JE7zn50MvvxDlgf5uiEkoWRAjeq3cHXgGQWoa7xUQ9YR+t/j6gSw4w2JfffVXPafGzKAvS6GLbNvR4zXCepZjpz9ad2/iXjvTFw2J3qKGgSXpsbKqzLXXVPBdKvqaFrmQLn+FcmJLWPQH3aJLmcLUugKwzabXMqMOQVGQyueWgeXV6ZoSmBALsPfmKpo0OIwPDhLMKykR5PKAaKTNoUlZ8g== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1268; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1268;20:FI89KLZl6qCYhoao0yN5Dg+U9SJ5TDlVn41XXzh1sj0v3lSPmDh3ADaEqBNFH4GTWuvokj6j9RqC+TljrJzarPcd8PnRBlBkQyH2mtosLr6c9O5u3pufQQi1GFF73TTqNEBRnNphvQ+0cgc6XRNq5VG7ycI/l8o7wGIgZxOmBEa+fXpwFFi35zpWT7+sHTEQXtRdCXbJb4ti7LY20wFD1y6S+iLXbGeX2E+HDG+vAZmBoQT3ldlXDE7teJSJoChaWNWlKBlCSi57ayCtXXh1rb6UPI0/eFl5En8U+o739oTk5wdL7sr8uASNl/BmIknfy/7/HOn6j+t0p8ur9SrJZFgn7BjsHUQm++9cW95lLrU=;4:cBuRVuxUvuZ8Zy90kGtOu2KlFe2Zqd6F7+CJuBJcw1043Y9VBBoPJ0Gc0boYdDgyxGsYT6mBal5/UT6n4e1/e7FSefIKER1k9DqNzs6obmLtslecCONnSMI5ZF7TqUoRahjLBZA+QPnc9bzuDwfEOkRYSeroR3XsYeEI3A9/1OLl8SamqU/ZFu9Pg0rQEsLmLkypGjUSios7FLkrulO8+6UE3KVu1Z+ND37Ordu1obvyMbZ692kLwcMa5/KPTHnpk/InT02FRGyWyhetY1TbKW2Nrt/CDm2fPRVunqPsuyT02rubrCamDRy9nJ5G8qBII4/sfuq6+1o8dSN+oU6+4TtAZODgfIXu4YKN+xmMFA3+Vo1BD8JrxywjxIZ/9+fRwK05vjQTBRq7cJXIVaJSvQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(10201501046)(3002001)(102215026);SRVR:BN3PR0301MB1268;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1268; X-Forefront-PRVS: 0744CFB5E8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN3PR0301MB1268;23:zv+X/Y/PXxl/O788Mz6OLOn67leKxoaNQP1JiiC?= =?us-ascii?Q?/e/vEh2/2aytWpd6VtaEYg7og/DQ2fi61TV+9lCT/zVlGfwsTDJ+5nTky4Ld?= =?us-ascii?Q?2d/Pqb1Rpb37FwOFE22h5nr1okvYRS3l1dT+jnPbeMOmXFJ2GqDk/975dQqx?= =?us-ascii?Q?Zm0c1uTqWjoSv2KQygg6yxTpPyjdahJTOXeaVB32h7oa3TMOBzhnJuFioKHF?= =?us-ascii?Q?rusYH/dHWB63N9AZvBX4piZERUlCZ31FHEE0MsZvGV8XpHvMZbfupk8OzTS7?= =?us-ascii?Q?ykSwzo4gQ/hY96jNhKbAPzSRD7Uh6wZxZpLKFV1R55Gt8JnGf8PpUylO8mvY?= =?us-ascii?Q?h3sNH6P/UVxN9YWMvMDgM8yTobka4oX7T7wM00QIW1FnX81lRyQcuwHC4RUh?= =?us-ascii?Q?jaBbo3tluyxwlRQnzOFI01lKSi79QVFh3pahGlhX85o1aEcKNmGVh3UnvAZI?= =?us-ascii?Q?R41IbF8YbJ5E5myc6eYEiR5KHvpPC2UlmiJEiwce+cILjX29s/oUCH+Ry832?= =?us-ascii?Q?C68O4ktI0ug8Y8tf5rGI5k4xTFJRWSTwfJvxHZvPyYblNebpshpOyb51Srqf?= =?us-ascii?Q?xZhd3Dxk8BXqKL63/u19wGAXzrNDi+sAdQcTs0JawC1wk++h21/aV6MTqQZS?= =?us-ascii?Q?iD3bSoWEKhbM7GYYaBDEoZc5UrnPhKFhrFQ5yy75wGdih6sTUhUqJgT4VhpH?= =?us-ascii?Q?0ScWbaeI/c43GfrE2Z+1NxPKVjZMmh4IbeYFU1rAwxbQJNC6WyddMjDxqF5E?= =?us-ascii?Q?ZcG28LOleqH4svt+7hmvxNj5dQH/i2Hv4Mzfv6oxNezHlP78+wVuB/IK7fOL?= =?us-ascii?Q?6F/WHzXr6ipqOdWTCtpypNhIDW3CTn/3sS1foD05Iq0ZdsIiAfv3BKnLx6KS?= =?us-ascii?Q?MVkpYVJDi5z/c/LV9dm6O7Jm3lkD5DGpO0l5PKd4wKOVSZp5rzdGSuFLo140?= =?us-ascii?Q?KfZsRSYjcwSBx6BS1+DiiRpAwdwExnpcXZR3BTRLUzQk/w/goHl6D1fCfqQl?= =?us-ascii?Q?4o6K29p02WpTmn41qtpbP+xe//ubquCp+z77Q9qE5zgyCMTZYwm8cAyR6f2O?= =?us-ascii?Q?4uprU+0+M35oty4O7z9BqqWTEzZs1bzWbx1flwJPQGA1JCBaEwJW+wUXLnF3?= =?us-ascii?Q?oZt8Psn44kUs=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1268;5:t70u4kq4WHKQCizI4tLaOfj7JmduxhkO8kRt6pR2Xt542pg1aFE5OtEJoQsx6jRwsdNdJyLC0V/bOeVuGflWn3WSfUMpgXPrIxZhB/JoP8FDwhgHi4DQ4L6za9PUQN1VXTgQdlArxz9Qs0GtzdhbvA==;24:Dg7rooWZ+72coCfJLnqSTv/HsVJp3KwvSraH89wXzrYeIiOcyKdo5MFYVevotHryGtT1OqP2sox88oqRjnaNWdYngKDHba2tDowp0e6M0ss=;20:muoloQmCnmU+AKDpZmvoTgxs+/CyApHGSm41EufIEHTNKYg2Ek+hbOjRECfm/9AxFgnMuOyIQ8EMEAi92ctILQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2015 06:24:13.9378 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0301MB1268 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 28, 2015 at 10:17:59AM -0400, Jason Baron wrote: > On 10/27/2015 03:40 AM, Peter Chen wrote: > > The parse_args will delete space between boot parameters, so > > if we add dyndbg="file drivers/usb/* +p" at bootargs, the parse_args > > will split it as three parameters, and only "file" is for dyndbg, > > then below error will occur at ddebug, it causes all non-module > > ddebug fail during the boot process. > > > > =============================================================== > > dynamic_debug:ddebug_parse_flags: bad flag-op f, at start of file > > dynamic_debug:ddebug_exec_query: flags parse failed > > =============================================================== > > > > Hi, > > So the spaces there should be preserved if they are in quotes. Looking at > kernel/params.c:next_arg(), the comment there explicitly says: > > /* You can use " around spaces, but can't escape ". */ > > So this should still be working. And if its not, I suspect other > command-line parsing would be broken as well. So if it did change, > what changed in command line parsing? > > What's the output of $ cat /proc/cmdline ? Perhaps, the quotes > were not passed properly from the bootloader to the kernel? > > Thanks, > > -Jason Oh, Jason. skip this patch pleaes, the u-boot needs to use "\\" below double quoting to setenv. eg: dyndbg="\\"file drivers/usb/chipidea/*+p"\\", then, the cmdline will like: dyndbg="file drivers/usb/chipidea/* +p", otherwise, there is no double quoting around QUERY. Peter > > > > As a solution, we can use comma to split parameters for ddebug booting > > parameter, and replace comma with space at code, in that case, the ddebug > > core can handle it with the same way we do it for /sys. > > > > Signed-off-by: Peter Chen > > Cc: > > --- > > lib/dynamic_debug.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c > > index e491e02..da4883b 100644 > > --- a/lib/dynamic_debug.c > > +++ b/lib/dynamic_debug.c > > @@ -880,6 +880,8 @@ static int ddebug_dyndbg_param_cb(char *param, char *val, > > if (strcmp(param, "dyndbg")) > > return on_err; /* determined by caller */ > > > > + /* relace comma with space */ > > + strreplace(val, ',', ' '); > > ddebug_exec_queries((val ? val : "+p"), modname); > > > > return 0; /* query failure shouldnt stop module load */ > > > -- Best Regards, Peter Chen