Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1099764yba; Tue, 2 Apr 2019 02:12:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqy/vL3ksxHC7QdhdgEtajysN9sKFgPq5YwmnsjlHxO95kJBFWl3BVf5PjN7A9qOLF4GKxz3 X-Received: by 2002:a63:c34a:: with SMTP id e10mr65060789pgd.194.1554196328275; Tue, 02 Apr 2019 02:12:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554196328; cv=none; d=google.com; s=arc-20160816; b=RjA4uC3IOxRHpyvhMtrN4Et0fIVjNeCt4rxoVNalExHKrIrsZ8ltINLPuP6Uc36c3O xa8/6/NFarq0hBY2Mu35gMhZ0sAjc+pTwbqU+U8j6vu3SvFt5yNFP8jVQ2asSB3gfgZv ZsKYhMDDV19m0bK666IHwIZ9x5PmGFM4zZQNb/YVOakN1Bhv2TmJcYmsvYhEYWhFNF5d S7kxx919QDCO2HIPFOWIR2GXM9U6ZHqN8a6ZM++FRpps9M8IFsoRkqOpLBUmZ+6nXr6V Kloq3BoNGFHpU6b8eYf+7Anh7szCuG7hCoIYauCcG8AjEZGiBo95uDFEgKVxXnfVzIh+ iosg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:cc:to:subject:from:references :in-reply-to:message-id:dkim-signature; bh=7w5C2YrN3MdzgkpgW+H6BlOOu0kSi9B/PGq/t78Pl0w=; b=B3Vo20JMoKroA/+UgB14e8jdKCFvM/ayISNLECQhp7E6CkgaSXZhgoOu/YKEu+Fhot LiaIx8RtzO8wZyRX2OumJgvudLRZUeols0tk/eFC6RV3LP3UOT576LqhUbgcf2ZEJ+Hz 1rg+8pmw6TGOrB8yX3EuwwAfwrDfyjfJV1zuy8IDKjKNyctG6JD2V9G70cNYQ0LTH6wB GGgIYMwazYCll7GkOiT4Y2GyobFoiTXKm1lwOT8q2hwy+W8DK983ImGfXBghKGhfTBls R+8Rc27HmAkfWyIJsi5NGzrrmPfINNe/mrbhjZAc+9lbOaXRRq3rIaLP4+eHcrlmskjs Vxmg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@c-s.fr header.s=mail header.b=wJz91kZe; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 37si11091983pgz.512.2019.04.02.02.11.52; Tue, 02 Apr 2019 02:12:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@c-s.fr header.s=mail header.b=wJz91kZe; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730010AbfDBJJO (ORCPT + 99 others); Tue, 2 Apr 2019 05:09:14 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:34703 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729848AbfDBJIk (ORCPT ); Tue, 2 Apr 2019 05:08:40 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 44YNfs2hmvz9v0Zn; Tue, 2 Apr 2019 11:08:37 +0200 (CEST) Authentication-Results: localhost; dkim=pass reason="1024-bit key; insecure key" header.d=c-s.fr header.i=@c-s.fr header.b=wJz91kZe; dkim-adsp=pass; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id HnmsqkcSq8j7; Tue, 2 Apr 2019 11:08:37 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 44YNfs1VDWz9v0Zh; Tue, 2 Apr 2019 11:08:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=c-s.fr; s=mail; t=1554196117; bh=7w5C2YrN3MdzgkpgW+H6BlOOu0kSi9B/PGq/t78Pl0w=; h=In-Reply-To:References:From:Subject:To:Cc:Date:From; b=wJz91kZe5ygoE2Ee6o0f23svpTgOfHi1Zn3jFGjxX/j5ob/VoePZQ5JOCAa2TuMaV B2g6tsmN31Kzxnqy3SNi6qDN/X6YNnw+lsMtJZx5GYX2Y6/8zxZBukiKWUXihyB3xF XSlUwcmzK9k3qP/dUBSkhkRLw59OEDlKaOeLaEfc= Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 387BE8B8C5; Tue, 2 Apr 2019 11:08:38 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id MSNxiReW1ySx; Tue, 2 Apr 2019 11:08:38 +0200 (CEST) Received: from po16846vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 0C1458B8C3; Tue, 2 Apr 2019 11:08:38 +0200 (CEST) Received: by po16846vm.idsi0.si.c-s.fr (Postfix, from userid 0) id E1685661D9; Tue, 2 Apr 2019 09:08:37 +0000 (UTC) Message-Id: In-Reply-To: References: From: Christophe Leroy Subject: [PATCH 3/9] drivers: of: use cmdline building function To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , danielwa@cisco.com Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-arch@vger.kernel.org Date: Tue, 2 Apr 2019 09:08:37 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch uses the new cmdline building function to concatenate the of provided cmdline with built-in parts based on compile-time options. Signed-off-by: Christophe Leroy --- drivers/of/fdt.c | 23 ++++------------------- include/linux/cmdline.h | 2 +- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 4734223ab702..c6d941785b37 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -24,6 +24,7 @@ #include #include #include +#include #include /* for COMMAND_LINE_SIZE */ #include @@ -1090,26 +1091,10 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, /* Retrieve command line */ p = of_get_flat_dt_prop(node, "bootargs", &l); - if (p != NULL && l > 0) - strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE)); + if (l <= 0) + p = NULL; - /* - * CONFIG_CMDLINE is meant to be a default in case nothing else - * managed to set the command line, unless CONFIG_CMDLINE_FORCE - * is set in which case we override whatever was found earlier. - */ -#ifdef CONFIG_CMDLINE -#if defined(CONFIG_CMDLINE_EXTEND) - strlcat(data, " ", COMMAND_LINE_SIZE); - strlcat(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE); -#elif defined(CONFIG_CMDLINE_FORCE) - strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE); -#else - /* No arguments from boot loader, use kernel's cmdl*/ - if (!((char *)data)[0]) - strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE); -#endif -#endif /* CONFIG_CMDLINE */ + cmdline_build(data, p, COMMAND_LINE_SIZE); pr_debug("Command line is: %s\n", (char*)data); diff --git a/include/linux/cmdline.h b/include/linux/cmdline.h index 8610ddf813ff..afcc00d7628d 100644 --- a/include/linux/cmdline.h +++ b/include/linux/cmdline.h @@ -10,7 +10,7 @@ * @src: The starting string or NULL if there isn't one. Must not equal dest. * @length: the length of dest buffer. */ -static __always_inline void cmdline_build(char *dest, char *src, size_t length) +static __always_inline void cmdline_build(char *dest, const char *src, size_t length) { if (length <= 0) return; -- 2.13.3