From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933017AbcILOBX (ORCPT ); Mon, 12 Sep 2016 10:01:23 -0400 Received: from mail-db5eur01on0115.outbound.protection.outlook.com ([104.47.2.115]:45760 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1758860AbcILOBQ (ORCPT ); Mon, 12 Sep 2016 10:01:16 -0400 Authentication-Results: spf=pass (sender IP is 131.228.2.241) smtp.mailfrom=nokia.com; linuxfoundation.org; dkim=none (message not signed) header.d=none;linuxfoundation.org; dmarc=pass action=none header.from=nokia.com; X-HPESVCS-Source-Ip: 10.151.38.184 Subject: [PATCH] serial: core: Fix handling of options after MMIO address To: Guenter Roeck , References: <20160911004554.GA3562@roeck-us.net> CC: , Jiri Slaby , "Greg Kroah-Hartman" From: Alexander Sverdlin Message-ID: <5e28d338-7667-f889-fae2-5aba0fdeb647@nokia.com> Date: Mon, 12 Sep 2016 13:29:29 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160911004554.GA3562@roeck-us.net> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.241;IPV:NLI;CTRY:FI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(7916002)(2980300002)(438002)(199003)(189002)(9170700003)(4001350100001)(23676002)(5001770100001)(76176999)(65826007)(31696002)(19580395003)(16796002)(77096005)(4001520100001)(65956001)(50466002)(92566002)(65806001)(19580405001)(8936002)(586003)(50986999)(54356999)(33646002)(47776003)(2950100001)(230700001)(64126003)(626004)(356003)(7846002)(106466001)(31686004)(83506001)(4326007)(305945005)(5660300001)(11100500001)(229853001)(2906002)(86362001)(36756003)(189998001)(87936001)(8676002)(81166006)(5001760100003)(2101003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0701MB1994;H:fihe3nok0735.emea.nsn-net.net;FPR:;SPF:Pass;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD039;1:4d8Y05k6yQhUBpA+8ORzJ1p7PfHdkRpRZ93X9IKSn5DCnfLzhvUMFfYKkbemm8KMO+gMBhmMYyDbT3nnJfg+AOxkvBzypMF1O5bzpzeuhR9CITTauFXq94hcDXrRdlY5eFDs+Is2SD3WXmCajlBuUv6X9CcA+qm3pCIQhMWNHPdHLvEXxPRiPbgbdAivUkfmK1hXanhY1vi7eAveEfaMZNXbn3Z4bs4dQ52274wHsnuDcQZbbuxOUB6Zh+vpkLAl8x20z3VEsiCMO1jIcJvmQPQWrsXYx3q6F1jy+4iM/WhpLp8kiZUR/0tNghzVgEW2mXOrgpEuw80AmPQqB4iDRouCyagfgtH9IGgGHwkhAOxOGDyR29drGWRseTrsFo9KKpukzgmkCeFSdpF1TLC7g2VfpU2L1HUYPDvI7558znXOvkE+/IiLE3Rmj6QvCZjNSGBJipLGfOIUXhdUWOeQWsu/+ol2QKgrtR7TGdQqRhH21xpwSgmToQMxYlJ/dAJmOSbQIpe/+ispKKGRewyt0KHkHVa3yQfWrdIUKklUItA= X-MS-Office365-Filtering-Correlation-Id: d95be712-468a-40d2-b406-08d3db001531 X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1994;2:H46xENKj6yP4hwNY+ToUJfmWmYsJc4lA4Sk9xATh7NVNPcjyAitP2Avh+PBOx+ZInMx/lfzeaEYu1faAluyhzjWh8Sk8JKx6rpVe+oU7MtcTZ8KTcW7yV/NiHwUPrurcsEPiRymiUki3IIEEVw82TfvR/moVKyvgcq3OeZkim7KiMzmbvdDFfLsRTQJXu7U/;3:+INfpBGOWJJkSLN6YuGEODBzLqwXc7iqL476O0oleX1PHm6BWCye3skiX7DQu2Bm1ebtNKWXKkrGxx/WuAChqn6YnzpPqyujKCcgnK9w4SAMCkNkKrIV46DJKFDzL+mgOXAS1tV5waBzcp/SNKBdgUfkAYS4p3Kxn98J/B7Ugw01joCtxF2xWcK8eivgbPuDT4KDofL5KIOdw0Pv7usf+eC4xTyjMX+kKgk3itGKReqNcVTGteOVVKFr2rIBes3KE9wSgwLNkAn+LrTUSeHuEA==;25:GPZ/loAfusnUkPrw2uNSX9OySVlu0FqsFElo/nZrKuuWMQ+d7Cv0wPdi/o2LqT0KvjiwM8tOFGP5Un7SzbPEAFBMZmpnZsOb0bPcPJaR80YrHbVlpG0LfX8DJj8TvV3RdSamd47QHFs3dsh4ZyZYi6DEuOmewMgS/NQl4fUp63wINEjDlX3xnZ8WVPMWD4sq/hb11CtlkNufh+7WHrs0OzVsKZbKuqQ0Wh7yHGqfEdV9PlvRWsXU+XUDvVaPnpxmTd5vaecCGt01wriaUyybXybMWhlRPtHCDYGiroK0+VsMyAt5ONQsqRs5hVWj0LReW8baifkccmHOIeQJuIkV9tHDBgyv2GnHWbmw4a4/eis9RhqvAHp0jcQ7GRxdkJ20ErntyoPrDbJaHAlenn0wltg5l0W/o9hr8G5yHZwiL94= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:HE1PR0701MB1994; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1994;31:pY7fkjhqFM9VRhxiOp/366q+Rp8MRCeDgIWV/L/u3du4Ae2RxqEl5/gcXqOhhfZ0sfXakdj8M27tBKr2efyZx7WCD7emnXm/dmAYWu+oLsKY82Ns/6IMWgd646Q3yPD5cWCSt6iIEZE0sTfQY1l2glWLD+ypl3CYICQP3Ba0xQyNzJ8IZaUiK+PzteG1xhalk9L3ayyTiMbPaXkH1CrvBlY5Q4ZyapKMOb/wTNjOO/s=;20:aqaG3yDkSllHwn70lombLJc/Vg0qP79HSJHnyfPv4KCEALozd8ljRu9cKjxQXs95NQye1QPFFsSpcy3tJOiE3swAHjfyZNl/0TXr9HXYUe7Vrt0NPLvGPgqsJrLBAIOxpFdbqhjEftVbWhssLSqUR2UNsnMGFU3D8KUVSUxAZspaJpfJZzja8xT0QnvyuIkzFBh8yCcgIMoovJ8ECDAtO/jBcImjubi5DPSggVcw9FHkaZK+p8mHq1RucgqFRPSbkl0q91RT1rR1caJcCB3erp7ma8SaDO8aQMxa4vmSp6ZGgMBUVmShomllvtJnEZSVD0bwwP1+Drj9a/lU9DYp/oBl1YsdjCNUZ7zG9OM53pyPtMKT2vZnHOxtQhjVoxFvhTOxX6OOu9xXDAgWTrqi022bThxMvE1GksEUiN6LOipAvn76JZwtG43KQfYuDgePEc8jrPWxWDGSc/+u1ZPTuo4il5yxmeInk5jXyZKqrBRDsVqdYY5eIoQsF1BOvFvJtYtkxBmL549WcumdPSB4qorFRyv6j0qqiTPTnpIOR6NDW0ZlCbh2HhcTMYLKmcM20ttIEPahNr0EsvQA1uJEfmAmbT/7PmVPPSbzvZHRakY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(82608151540597)(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(13016025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026);SRVR:HE1PR0701MB1994;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0701MB1994; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1994;4:/r35OUVzbJH3JxGn6LfZzKFV2e8M+RtgQRwnJuJJg+Msj7BwhOQqGeK8SEphpWV6XZDH7aU9ZONH7dSVC4MHPDswQ07tQj88tEQblgX5qL9vC8jq4/nmtwblEhtkcbYgn+KT11eLlVAhr52crLuaBk3WFKRY7nrw7EohTh/mWFZgm+GoffW5IffkBCQQDS+R3qI6HVf1W1/uDwb6SGLXE4eVB2sTdtu0u6fiX0Fh7VsAWIdeeYeMRTizmkRHqjLF0otgeHuj+KSQZrzdkqxmPzlr120CzsZpDOCAkcZ2ES2Ey/mdPmzv0hvYT+zVXWvtm6p65ij/h37aLMxBl7uU3X9BW+vgP4DrS/hc24sNYIMYwoKyZ125fYsE5J4xjZ7KM/pucOCc2Rc3xW4BJWdGtFwUXePAzMwzeXIp50HaiuKgmBrANn/4cjpoxHG4ct2UYyj2YmAYp2UkJC0MTYJ6qN9M6MOlmEHbWT5Wr29lOMGOIq+FFYo5dtAqnns7Cjziezw/N3eyrtyjA9S2fKvC5A== X-Forefront-PRVS: 006339698F X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA3MDFNQjE5OTQ7MjM6Sy9xZjB5V2k5dWZVOHBxd3BmM2t5TTF3?= =?utf-8?B?aStFelZFNlhPZ0hJNWdwNzNCdEd1WWZLUC9QbmNqNXpYZkFTOElxWmJkVFdS?= =?utf-8?B?M1FiZWNnNGtHQXNkTi9LaXY3RlIzN3ZZbHJDRko0VUZzZFQvZTB2Umh3eGh5?= =?utf-8?B?SEluZXFwQllldWpiNUtzc3NPZVlMVmIzb2piMklwajhDZ1FHeFBOdmV5Q21E?= =?utf-8?B?cEZoSlB2aFJuNnZEeGNBdzNSalRub2oxNWdqeUlCRUZGNUI4YzBNejFzcWVO?= =?utf-8?B?NjA1R0RTeG5wL04yUWdjZFVjTHRWMXA1MWM5UHA5b2Rtay8wYmFQcmE5cStx?= =?utf-8?B?d1RUVnYyYTJMSWxmQ1JCbzJaRjc1bTR6RStpQzJiT3VXblAzd1NtSlI2VXdJ?= =?utf-8?B?aXE1MEcyMFA5TFN0Sm5JeVFDTENmZGUvYmVBRUg5NTlCaHdtU2dqUi9ON09Q?= =?utf-8?B?Z1hLb3o1MjgrQmF6bzI4bklySmRRZEFXcjVjNG8vTUZiTXp4NU8zRmsvaHFL?= =?utf-8?B?SVg3LzRBS2MrRTRWQ3pvdE16MmRJN1BmS0g3Sm93elFNMC9KMDhPcXI3SkhE?= =?utf-8?B?aGpkYy9MdnJwSGN3UGVhOGIrUEVUdWpuNHhxL1lnb3JLQVF4eHp3OGpJOGlB?= =?utf-8?B?TG1wbnNpbGE0RVRpQm1hK2JtOVdkNkE1SGZqVnlBQmNDbWhoNHNDM0RVbjZT?= =?utf-8?B?M0FRRlA0d3Z3VDZ1MEIvL3I4K2lrODNjMis4d0kvQkQwSTJnWExZMnJ1TW1s?= =?utf-8?B?elRTc1VsNU4rcmNUYU9iNkZxcm1Ha3VVTkUzazhZdUVPTzlad2RLczMzanJ1?= =?utf-8?B?b005TlJlWWVIV3EwaHlwZXBuYXNmYjZxQ0pyMGRCaEF1OCthcG40d2tVRU8r?= =?utf-8?B?RitxbXV0WjlFSXB4eG9sbkx3d0dUNHlyMFA5VjU5RHMyNFIyVGNYMDV0Q3pv?= =?utf-8?B?T014RHZZQjZLWENYMlQwdzl6ckVJaEJUckMvY1pWK0RRekFLemtaY0JUNnlV?= =?utf-8?B?MUhiYWYyR0VkZStOZi9wVm92WlROclROSklMUXVsR0NMTUhGVlV2S0FHMkxN?= =?utf-8?B?UDJrRGJIRWNQdjIvUVAzWXFFR08rRTFVdlFWTkprR2JlY29DK09ndWVhMUQ1?= =?utf-8?B?bkRNd0pBOS9ldnQycVlJaXJBOW8zcmpPZVdsRjM5YUdJVitLa3RDY2hnOGtj?= =?utf-8?B?b3pqaW5WQ2VXL0hrbHVoVk0zSXVrQXVxNUU4bXJoY0lLTnRTWlFyaXl1V3Rr?= =?utf-8?B?N1FjaW5ydGRFWUhYSkE0NGVMR2NTNjJnM0JlWWFYZTRJeXdocHJxelNOSG1I?= =?utf-8?B?bXhQeGNyMTYrWU53RTFDN0phNGIycm5RM1o4VkY1NHVJQ1Nmclp4WnhsbllV?= =?utf-8?B?VEhjNmNIUWhocTlDbSszR1hEaFRsTDVXMHFrT0J4ZXhwTXEwQXhEN3B6Y0F5?= =?utf-8?B?OHcxUEh2b2Y5WE5MWVcxN3BPSDlmbDVkMHl0QnR0ZUkrOGdJNzJ0cVBOT1FM?= =?utf-8?B?UlhOOHhPMWh5cG1GSzFZZkdlYU83UitSdWVQMmR5UUYwV0JqT0FYWDNMZlJQ?= =?utf-8?B?NXFHbFpDeWl5bTNGRlAxbkpSaXpFcElXVFJ6U3FUclJjNkxiSk52NWVLcVBv?= =?utf-8?B?SnlMT3JrdXBFbTZFU3J2Y3RSdkdmSWhwYkZvRHV0bG04NEpDSjV2YmU4SlVz?= =?utf-8?B?VkNIeGt1YmVDZmFYVjlTRFIzKzdWVkR5UENzMUVXQndUVzJtQ2pjTE5EVjFC?= =?utf-8?B?clE4Uy96Uy9GaGUyY1RsWXRnPT0=?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1994;6:YRQRcCQpajWsnd9xNN1hYdYmDBc7xz0Ldma0bnPf406joOMzN4WhmcX6nOyiqmsSbfSuTxCPa+fZJdlzdQ9qFirooy6QsoI5XsljtN+yb+EDCkljnXC2Aa3FXaiPLbt7MvcS35jcfpT1sNy2jVtaGTIohxTYWtvuMLXt9xjNlLHin2xamE0lo/LQdj0v3dvQLz6ivzCY9lyR8QaVBDKUDLLYroTWvhJ6Q6mUiCiPzDycP+HstMKy1/eEEBDJu3DQKuH4kOvTbEnQVhTaaPidwNmvNJrtZuYoXn3cQJIz0ijQdYfRiFOInTtQl8cmHpOv3wlzJiENEKNeG8XbVsY9sg==;5:vnM+2iSSOJBK41XzbP5gW1Z2FZlZRNAvQ5aBfxSAIw2BwIP8hNJdJJ9Zlf99fIcSpLmkRaGL4639rzmciJYB4JyfNc1Vf/LT8aNaNYmzrKTP1wePgfVjPZ8siycIVcxBIsjOp9RH/w1IXSXXgBCLbg==;24:1c+bNupxcLmPaSgJfVvltSNPjsPnFvmzHnG2bDyZmhTZgJNwsV9oWpIUK3M1AXlx0ITn6FF3hari4RhGseIZ4O2I5pGk84ghs16FZ0CCzZE=;7:Wwj53tYARUT5GIhsKenfFdy0ERU2dKhbTwip/84mYoUevh+Jj+Tr5Ysahnc2v0fb2Rp8DrhtJb6Z5mIrmVXBHm9XSvjey4rAHXjiFm/uE9EBWSPxCq6wj7r8GpTYQzqqH+wxMVOf2dMwDeisnEuAc54UfLXpY0o+S7lA7qavcVNNpzmeDiiOQJ0GvsQLoPtz5aojEfOyP5V7hMQK+npXRIVyw7Yla2TivYSHw/oC5a4ZgsgBUwrccUpzHBAu6ADZ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2016 11:29:38.9561 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0;Ip=[131.228.2.241];Helo=[fihe3nok0735.emea.nsn-net.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB1994 X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1994;23:OS7nhDS4v3e5xpZT5GefGL2aRv1odmyjKu8Ek5xI/1VF/lRUv1o6yhh8L3gslZys6RLgMXNt7twd8Ozgkms2+of695cmbmLhQZzbLfF9NLYH7AwdFzUvmjfJ3O1YzkeX7+Ix03HbQLLXjM1jSGs7ua5STB4/W2VhAQrzu2fdZXLZmbgCcPeKTZY51PUirsQP X-OriginatorOrg: nokia.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Guenter Roeck reported a regression caused by commit "serial: earlycon: Extend earlycon command line option to support 64-bit addresses": console= and earlycon= options have the following format: ...,, Historically used here simple_strtoul() had no problems with comma, but the new and recommended kstrtoull() requires null-terminated string and returns -EINVAL in case there are "options" at the end. There is no recommended to use function currently that will support it, so stick to obsolete simple_strtoull() variant. Signed-off-by: Alexander Sverdlin Reported-by: Guenter Roeck --- drivers/tty/serial/serial_core.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index 89f5d6a..f2c8a8d 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -1938,14 +1938,11 @@ uart_get_console(struct uart_port *ports, int nr, struct console *co) * console=,0x, * is also accepted; the returned @iotype will be UPIO_MEM. * - * Returns 0 on success, -EINVAL or -ERANGE on failure + * Returns 0 on success or -EINVAL on failure */ int uart_parse_earlycon(char *p, unsigned char *iotype, resource_size_t *addr, char **options) { - int ret; - unsigned long long tmp; - if (strncmp(p, "mmio,", 5) == 0) { *iotype = UPIO_MEM; p += 5; @@ -1971,10 +1968,11 @@ int uart_parse_earlycon(char *p, unsigned char *iotype, resource_size_t *addr, return -EINVAL; } - ret = kstrtoull(p, 0, &tmp); - if (ret) - return ret; - *addr = tmp; + /* + * Before you replace it with kstrtoull(), think about options separator + * (',') it will not tolerate + */ + *addr = simple_strtoull(p, NULL, 0); p = strchr(p, ','); if (p) p++;