Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp551914ybg; Fri, 12 Jun 2020 08:25:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy7INVwFElqXUAyCyxzpkEuWOpyyqadBpzQx01uA/6d6kiGWFrqh+sjvDDL0zSPNpRpTwaK X-Received: by 2002:a50:d785:: with SMTP id w5mr11869824edi.212.1591975540221; Fri, 12 Jun 2020 08:25:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591975540; cv=none; d=google.com; s=arc-20160816; b=DfhviaEHUG9KGN7NLVhwpPiZw++C7uF1Ide+sBRjmUATzOTPoLYgqUrmZVQSEgMOTw MPP3jfTM8y8J5d9ynfMbyGJRV7A11UAgadgqrg1uZFQiemXBYfqr+bmPINVKztAMEPK6 k5PDhjpIrVUUH2QN2TUkz0aABjqC+TwsGQW24CrUpVJaZ7rTDSfAnA9A0qr9yrWHR80C +fW7SPcrQDZx0iBOUwlVpqBZiXmwcengX6tnIjrzJei5gF7s3TaZdfKaEZpTTV4mme45 83pE61g9hffCO5qRj1E6ihG6Ce0h3lscSMsFf4pWy/X8S3CnejIz+AheIOS2g6LCOTQk 5tng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=wHoaTxjvbUFHjXMAXl2EYSPmzrqRW9MYiAU6Toglxrc=; b=HX708iDBaL0ho9A4OJOAaKY2BVXG54qyfPTAKke1ptZychyJYQye/Zalhh7BX0r1kW SlffmiWHno5XnSVsIvMkVALksFKeaiYVHOy+SjCQQlR3XCKSohIGbetCXvv3RrZfgz8k /JIweMlqRWJNPezmesPDMnCNgjjsJms/SMFXfl9Rin3+ThLBvGsdp3LWZ5xFR0djB7pz 7IN1F6yKAcsH+1CF+Ca+WgaFheSrLMQpAhSIPsh20HqgykTXXNxJe46sohwGxgB3PHu4 B66rMRAPO7qf1A2JJ+qpoP/KzD2xqXNqNu3d7ddtY67VZhK1VB0xUZqv61E/56p5vnbG yxCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Kw28jipW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gr15si4124002ejb.214.2020.06.12.08.25.18; Fri, 12 Jun 2020 08:25:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Kw28jipW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726591AbgFLPXW (ORCPT + 99 others); Fri, 12 Jun 2020 11:23:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:43128 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726272AbgFLPXV (ORCPT ); Fri, 12 Jun 2020 11:23:21 -0400 Received: from localhost.localdomain (NE2965lan1.rev.em-net.ne.jp [210.141.244.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4041520878; Fri, 12 Jun 2020 15:23:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1591975401; bh=TSu33CSsTcCx8Wa5ui/4Ko3g3fmL370oljk9gPZh5KQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Kw28jipWRHsrK8JiMPbUQ4YTdii8VdHmWWcIC2jwAFjNwwqmBsWk7RDBamTCC7tXH ryiOagzdf14zZMKQ2Dpuv1ScdtCZyvDfxSawqWFY8jREWrCSCHn2QHoRN4Dt9LWgO1 0J28rVO+E56oHMlvY1u8qmh2Uyo+meHU3lFCxJbE= From: Masami Hiramatsu To: Steven Rostedt Cc: stable@vger.kernel.org, LKML Subject: [PATCH 1/4] proc/bootconfig: Fix to use correct quotes for value Date: Sat, 13 Jun 2020 00:23:18 +0900 Message-Id: <159197539793.80267.10836787284189465765.stgit@devnote2> X-Mailer: git-send-email 2.25.1 In-Reply-To: <159197538852.80267.10091816844311950396.stgit@devnote2> References: <159197538852.80267.10091816844311950396.stgit@devnote2> User-Agent: StGit/0.19 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fix /proc/bootconfig to show the correctly choose the double or single quotes according to the value. If a bootconfig value includes a double quote character, we must use single-quotes to quote that value. Fixes: c1a3c36017d4 ("proc: bootconfig: Add /proc/bootconfig to show boot config list") Cc: stable@vger.kernel.org Signed-off-by: Masami Hiramatsu --- fs/proc/bootconfig.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/fs/proc/bootconfig.c b/fs/proc/bootconfig.c index 9955d75c0585..930d1dae33eb 100644 --- a/fs/proc/bootconfig.c +++ b/fs/proc/bootconfig.c @@ -27,6 +27,7 @@ static int __init copy_xbc_key_value_list(char *dst, size_t size) { struct xbc_node *leaf, *vnode; const char *val; + char q; char *key, *end = dst + size; int ret = 0; @@ -41,16 +42,20 @@ static int __init copy_xbc_key_value_list(char *dst, size_t size) break; dst += ret; vnode = xbc_node_get_child(leaf); - if (vnode && xbc_node_is_array(vnode)) { + if (vnode) { xbc_array_for_each_value(vnode, val) { - ret = snprintf(dst, rest(dst, end), "\"%s\"%s", - val, vnode->next ? ", " : "\n"); + if (strchr(val, '"')) + q = '\''; + else + q = '"'; + ret = snprintf(dst, rest(dst, end), "%c%s%c%s", + q, val, q, vnode->next ? ", " : "\n"); if (ret < 0) goto out; dst += ret; } } else { - ret = snprintf(dst, rest(dst, end), "\"%s\"\n", val); + ret = snprintf(dst, rest(dst, end), "\"\"\n"); if (ret < 0) break; dst += ret;