From patchwork Sat Nov 18 07:59:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 166462 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp1047781vqn; Fri, 17 Nov 2023 23:59:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IF+Qm4cLcDQQBrffRkb02SBcmAYpjisKPlFuadfCaSnMQJeEl2KLRdro/MhXmLyw14eMns+ X-Received: by 2002:a05:6a00:2444:b0:68f:bb02:fdf with SMTP id d4-20020a056a00244400b0068fbb020fdfmr2045770pfj.27.1700294367238; Fri, 17 Nov 2023 23:59:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700294367; cv=none; d=google.com; s=arc-20160816; b=rFUzJaYuDxEiIWPK3hrBOjoqd4TeWMyzFUq8NjG2r9tjVvwsumnzLnCqopuWcubpKd +I92GvXsh/QcKeNk69gsTjcj69GIaY616gtJVzy5yTQzyyOuRCFmGdy/vQtzmIBPKqlx yyElZwSakZHbOsuu92HcLrddGwoXwEkD4Bz4NDjS3v4d5V2LI+06lZGzmgyStDlP28z4 KG9Tj7kfGfO6SX4XoMW/v8Cyrr1vAbfAx2Np1mmV/xwEpSphmCY5rVf4cSmAR4893pQt 34ZwzsX+XkEh4iHVAScHXYpXQ60hHyYTlpqTSKwb2QxDzqfMlDp3QFzLAF0hmLcT2ZaO CZ6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=lo2a9lzuNhFXPxNfgxZ+IIx+QQJMvdklhtsiKq0yc9w=; fh=oQbvuNnOUeIuBT5siQdg+euUHNNdn+CeEwAg69/1RSo=; b=MfIwtqwYb2KJ02JRGxlcwz4/IeMGoN/pfZ9AK14U0vGdEBwocesEQ2VqFFf3UrcoqS otgRSkGm7qTOvePc/YlRHeRsEDZ595iH/NHmXA0nMoSkMisTmXoO0n/0zTbT5RUm0qHM 81ArdhP7aj1xk1ZgrZzat0u+xFqH+1UcC/3GsbWItip90TLEyKTpdyw2RnRN7KgOQYrd D46v+7hLTgmw5toS2peJ/kngLjoUU+fCmuJh3WPHRa/9eJlzqGNJEmJCIeO2bWWfmi6R O6zom7zQFhAkvIMaKCvdAgvY+61uFIvLTUVyfH9VrpH6wuwRsSERJmWgM/062IxCcJs3 TW2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SqkBXj4R; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id 65-20020a630044000000b005c21d7ee51asi1555480pga.301.2023.11.17.23.59.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 23:59:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SqkBXj4R; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 0B2CA8280D69; Fri, 17 Nov 2023 23:59:26 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232139AbjKRH7V (ORCPT + 29 others); Sat, 18 Nov 2023 02:59:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230064AbjKRH7U (ORCPT ); Sat, 18 Nov 2023 02:59:20 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36D02D57 for ; Fri, 17 Nov 2023 23:59:17 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 17AD1C433C7; Sat, 18 Nov 2023 07:59:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700294356; bh=FUJGT7Wxv+A9qlisbFn6Z/VU7oX5Ys4xFHdHW9fEVFQ=; h=From:To:Cc:Subject:Date:From; b=SqkBXj4ROG6o8h/47chPS34ducc2BQrT+TZDy8Ool3IvQ0UiqmYgaVQm838jnb9h/ dh2Eod92LXLdxcInnHoEBD6/o0f7gRxdA0me2vM/GcgoEkfYg5dVH5+O6SQoRYGCG5 OE7qeFXedj3McK0OrSTq9mPaVbsQu4dPSscNaDuFZ5ztZ7zDXynQ0Dqxba7zGfHmor 0jhLRNRP6HcpIdgjxxn4XSAourXfi3o1KRvDq3Tzi28o8o3wW1d1sa8Ca0pB4Ptd+D nGiYYCsO15qTJzRHCoNpxDdraZWrTqt3cC0s8BuZxaTn8aGGdel0soxC3u//6YlTYs QhV+yQDtLVH6Q== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 1/6] kconfig: require a space after '#' for valid input Date: Sat, 18 Nov 2023 16:59:07 +0900 Message-Id: <20231118075912.1303509-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 17 Nov 2023 23:59:26 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782887866093036649 X-GMAIL-MSGID: 1782887866093036649 Currently, when an input line starts with '#', (line + 2) is passed to memcmp() without checking line[1]. It means that line[1] can be any arbitrary character. For example, "#KCONFIG_FOO is not set" is accepted as valid input, functioning the same as "# CONFIG_FOO is not set". More importantly, this can potentially lead to a buffer overrun if line[1] == '\0'. It occurs if the input only contains '#', as (line + 2) points to an uninitialized buffer. Check line[1], and skip the line if it is not a space. Signed-off-by: Masahiro Yamada --- scripts/kconfig/confdata.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 2ba4dfdd1aee..556b7f087dbb 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -426,6 +426,8 @@ int conf_read_simple(const char *name, int def) conf_lineno++; sym = NULL; if (line[0] == '#') { + if (line[1] != ' ') + continue; if (memcmp(line + 2, CONFIG_, strlen(CONFIG_))) continue; p = strchr(line + 2 + strlen(CONFIG_), ' '); From patchwork Sat Nov 18 07:59:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 166463 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp1047794vqn; Fri, 17 Nov 2023 23:59:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IE6alTkBo2HtvJ3XtuCrAxisRgaxaOeFQ1OAfMdFAA/jh8tE32+9s3qvKnmjzq/1tQ5WR+n X-Received: by 2002:a05:6808:1642:b0:3a9:6400:62c6 with SMTP id az2-20020a056808164200b003a9640062c6mr2178612oib.32.1700294369204; Fri, 17 Nov 2023 23:59:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700294369; cv=none; d=google.com; s=arc-20160816; b=J7uPLKe/ciFvvg02IdgvPakEsslkygqQyiaUbT9HfuzpFYX+x7jjnu/oiEXuOf7lKw DRtWuF3SVRuPLkAQzObgvd/YVmwm/YrWUzxvMM26pekGMvtd7WOwApXGerkj6X8MhoVG lFLRrLCCyAzQFmZj6jNPfuFtfieUm0VSmB2aqKTZkAWYAsTjBy8EkDENghmRkCyCrMoA P5Auzte0RchyEADIRq4PE89yoT84IXpdHtpinRnmKHt3NrSP1x6jRKwW0Ik8OjNm642m c7bOQfNhfWl7V6eSjFZG8nOBzbSRGzuTrmALtWrg3x2SL3CwtksNjJUkmYO1ZGimRpqP HIgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=FgXQ+abnTp0XfrndIyZoalk5f4nJkzbj2e7m6+UyoZU=; fh=oQbvuNnOUeIuBT5siQdg+euUHNNdn+CeEwAg69/1RSo=; b=LEbQ3BGwz4hlbYmsLeytl8/zdaUL22ZNS0eFmXyxKHyeu475tCrv28iiTTjixZJ10s F/cJ8Or2m6lW1zoE0GwuqSlTP1uIvIzkpagbl/eEBi9AuCekTKCrNq9uWC3BgU4tqlrM nce7ymTlVT6MgoI6f+K8oxd6hL67BXiqUv0+ttk+Xrt+LlBXJKnoQDpRLxkwBWjqLIOW X1rqvhn3T1MNXvCqF6xQ+VH9sd0rIDA8BolHwbaMjlPXzo1Bo4zBT9R8kyRCpAUr3Nay 2KSARzbdmGrSs4rMGzm+1j/wJkOsRxeSkHPjBBwM3dyPJG6bLvEjUjQzlyUPBLqAkP3f fFHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PjbwH44S; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id l12-20020a170903120c00b001c61bdd8e89si3905978plh.150.2023.11.17.23.59.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 23:59:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PjbwH44S; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 7D3B982AE2C1; Fri, 17 Nov 2023 23:59:28 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232457AbjKRH7X (ORCPT + 29 others); Sat, 18 Nov 2023 02:59:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231782AbjKRH7V (ORCPT ); Sat, 18 Nov 2023 02:59:21 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2FD27D5C for ; Fri, 17 Nov 2023 23:59:18 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 28B26C433C8; Sat, 18 Nov 2023 07:59:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700294357; bh=jauAd/DlIAxGRDHMhsV9eiDiF6QyHtLCAz+l36D7zjc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PjbwH44S8XJsybJbgN1uXro8sSssuv0tAW825PLtyijhAG8M7czDA+DWYy0tkE0Nf HHXKNdJn3E0ejeHOTC8pQ8gE5pJjf86hCY2uJTVB/OWyu/SGCjORkJP2iITAViUTZv mYekF/H72wCwzdaf3/RzGh9DqO7hMY6P73YYkRVuNYUf3sBajQsvlKU7ujoc9sI4A4 kMwzbSPn/xf63v8TA+if0Xu0f8O+CrwyDl2Ns212Og0+48tyv6CkJ1vi/a+19lLkqf +mOU7YfpRHhm+kwJT7ikG5lOCRPJTHxgdflgisJAjZXabCJO0PvQX36EHw5XKQJiRX PsCS1nbyqmKfg== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 2/6] kconfig: remove unused code for S_DEF_AUTO in conf_read_simple() Date: Sat, 18 Nov 2023 16:59:08 +0900 Message-Id: <20231118075912.1303509-2-masahiroy@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231118075912.1303509-1-masahiroy@kernel.org> References: <20231118075912.1303509-1-masahiroy@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 17 Nov 2023 23:59:28 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782887868108057963 X-GMAIL-MSGID: 1782887868108057963 The 'else' arm here is unreachable in practical use cases. include/config/auto.conf does not include "# CONFIG_... is not set" line unless it is manually hacked. Signed-off-by: Masahiro Yamada --- scripts/kconfig/confdata.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 556b7f087dbb..92e8e37aca4d 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -436,20 +436,15 @@ int conf_read_simple(const char *name, int def) *p++ = 0; if (strncmp(p, "is not set", 10)) continue; - if (def == S_DEF_USER) { - sym = sym_find(line + 2 + strlen(CONFIG_)); - if (!sym) { - if (warn_unknown) - conf_warning("unknown symbol: %s", - line + 2 + strlen(CONFIG_)); - conf_set_changed(true); - continue; - } - } else { - sym = sym_lookup(line + 2 + strlen(CONFIG_), 0); - if (sym->type == S_UNKNOWN) - sym->type = S_BOOLEAN; + sym = sym_find(line + 2 + strlen(CONFIG_)); + if (!sym) { + if (warn_unknown) + conf_warning("unknown symbol: %s", + line + 2 + strlen(CONFIG_)); + + conf_set_changed(true); + continue; } if (sym->flags & def_flags) { conf_warning("override: reassigning to symbol %s", sym->name); From patchwork Sat Nov 18 07:59:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 166464 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp1047818vqn; Fri, 17 Nov 2023 23:59:32 -0800 (PST) X-Google-Smtp-Source: AGHT+IH6RaBe+S5g/BcYjZ57PGs2ct5YC0G/5JRd3Ov2tf8vvbS++3CyWoZ6D1w6aMuW06jJnlfF X-Received: by 2002:a05:6808:1915:b0:3a7:2d4c:5d4e with SMTP id bf21-20020a056808191500b003a72d4c5d4emr2547951oib.7.1700294371794; Fri, 17 Nov 2023 23:59:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700294371; cv=none; d=google.com; s=arc-20160816; b=bOP/KISJKkXH7L/2PupgQjEAnk1gPLIsDfeenft48zWLtbDEuZwz4sPBDFlF7+vGvn kKj/JEdtu5V+sGlcdq1GiBhbXjdzjgucyZuf2rh4aOyruG8rs6/650dEEGxJ7Sg19bHb 41a5hyB54/fK0YIhWV4S7NeUKQi3YsUCrpw2TKjGe/ixAC+7lDgrfT22eFtdWD3HIbkT jaOPswywqycEYNJMrnFzK8Ni3AerkAKWc55vFW243NBujwUqR5J4I9h3fi8E4lKb37CC 3W3+mPSibfwwRR9bRAT6fxFGbJIL6zqmlPxm9kvx83IBvgHo8jXc7Sg06zSeFKjMm4e7 g2Ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ENIrBI83+827wFnQa7rB4ROS3+Gbd6wzPBt3dIID7dA=; fh=oQbvuNnOUeIuBT5siQdg+euUHNNdn+CeEwAg69/1RSo=; b=LbumS8U2V6dXHEPI46j+7/4sKgjf7+hjbUiokccJgsKQaTu+TTwLhB1p/CrOM3QvxJ RM332bk42n1lYX4Kwtwvtq2OAPuW+yPDJKX3HzeOPd82/+W/fbCbBkbBArabo+shEvzQ QZBT3HmfGWoNNmBNEKi0kOmvX2zJPEqrPuOXAj5CDHbuiocvGYZT8aJTZeZt5xT3rbjh w8J3WjonCOLiaOk6p+wllo7mO6K0eDPyN2FVDbCNKiGu9IH6cMHnMMC6I3+FlnNON2jb VmcYK69TfGG2Ikt1UA7zjT6jNthF157ecbK4iLPkY7omx4WgpPQNWvLl8ymitDEI7zb7 EaNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=RydCbEjN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id jc12-20020a17090325cc00b001bb9e2c38ecsi3472943plb.264.2023.11.17.23.59.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 23:59:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=RydCbEjN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 59FBE82B1C62; Fri, 17 Nov 2023 23:59:30 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232649AbjKRH7Z (ORCPT + 29 others); Sat, 18 Nov 2023 02:59:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60740 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230064AbjKRH7W (ORCPT ); Sat, 18 Nov 2023 02:59:22 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35266D51 for ; Fri, 17 Nov 2023 23:59:19 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 342B5C433C9; Sat, 18 Nov 2023 07:59:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700294358; bh=YxFaQuWjuJpS5NUYQ/dIR/BuE2+ge6XoKjKGeh3QdZw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RydCbEjNwUvyzYgnPXpoQnsDGmvaPa+DqH6m/UGtiqzLQFwoJrZf7xfrMvZGXemYD Bz79mX4w5aXFlxf1Y5x5RmvFwkfbE52Sk7sGpYhI03McpyvaF7yq/z1FX7+ciOU3Og qACTu2uaSzjvPjyGPqG40OPkBVNiZAU7Ymkre/xaFOu6E70W3X03PkuAVEn2b58B3x fE+0Bwd+tUFK0mfFJnSJgkyiJgpqhVNZtj7p/6MkwF0u2tZ4LP/8COrEspm3vCQHJ2 phJY39ZuMaH5l32Ra64ba4Hjo3cXPiYj1URfxSUkznp8MuNyZU+2oykoLHIlImL3Ix H12/nymBeAr+w== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 3/6] kconfig: deduplicate code in conf_read_simple() Date: Sat, 18 Nov 2023 16:59:09 +0900 Message-Id: <20231118075912.1303509-3-masahiroy@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231118075912.1303509-1-masahiroy@kernel.org> References: <20231118075912.1303509-1-masahiroy@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 17 Nov 2023 23:59:30 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782887870999322744 X-GMAIL-MSGID: 1782887870999322744 Kconfig accepts both "# CONFIG_FOO is not set" and "CONFIG_FOO=n" as a valid input, but conf_read_simple() duplicates similar code to handle them. Factor out the common code. Signed-off-by: Masahiro Yamada --- scripts/kconfig/confdata.c | 89 +++++++++++++++----------------------- 1 file changed, 35 insertions(+), 54 deletions(-) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 92e8e37aca4d..b6a90f6baea1 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -342,11 +342,10 @@ int conf_read_simple(const char *name, int def) FILE *in = NULL; char *line = NULL; size_t line_asize = 0; - char *p, *p2; + char *p, *p2, *val; struct symbol *sym; int i, def_flags; - const char *warn_unknown; - const char *werror; + const char *warn_unknown, *werror, *sym_name; warn_unknown = getenv("KCONFIG_WARN_UNKNOWN_SYMBOLS"); werror = getenv("KCONFIG_WERROR"); @@ -424,77 +423,34 @@ int conf_read_simple(const char *name, int def) while (compat_getline(&line, &line_asize, in) != -1) { conf_lineno++; - sym = NULL; if (line[0] == '#') { if (line[1] != ' ') continue; - if (memcmp(line + 2, CONFIG_, strlen(CONFIG_))) + p = line + 2; + if (memcmp(p, CONFIG_, strlen(CONFIG_))) continue; - p = strchr(line + 2 + strlen(CONFIG_), ' '); + sym_name = p + strlen(CONFIG_); + p = strchr(sym_name, ' '); if (!p) continue; *p++ = 0; if (strncmp(p, "is not set", 10)) continue; - sym = sym_find(line + 2 + strlen(CONFIG_)); - if (!sym) { - if (warn_unknown) - conf_warning("unknown symbol: %s", - line + 2 + strlen(CONFIG_)); - - conf_set_changed(true); - continue; - } - if (sym->flags & def_flags) { - conf_warning("override: reassigning to symbol %s", sym->name); - } - switch (sym->type) { - case S_BOOLEAN: - case S_TRISTATE: - sym->def[def].tri = no; - sym->flags |= def_flags; - break; - default: - ; - } + val = "n"; } else if (memcmp(line, CONFIG_, strlen(CONFIG_)) == 0) { - p = strchr(line + strlen(CONFIG_), '='); + sym_name = line + strlen(CONFIG_); + p = strchr(sym_name, '='); if (!p) continue; *p++ = 0; + val = p; p2 = strchr(p, '\n'); if (p2) { *p2-- = 0; if (*p2 == '\r') *p2 = 0; } - - sym = sym_find(line + strlen(CONFIG_)); - if (!sym) { - if (def == S_DEF_AUTO) { - /* - * Reading from include/config/auto.conf - * If CONFIG_FOO previously existed in - * auto.conf but it is missing now, - * include/config/FOO must be touched. - */ - conf_touch_dep(line + strlen(CONFIG_)); - } else { - if (warn_unknown) - conf_warning("unknown symbol: %s", - line + strlen(CONFIG_)); - - conf_set_changed(true); - } - continue; - } - - if (sym->flags & def_flags) { - conf_warning("override: reassigning to symbol %s", sym->name); - } - if (conf_set_sym_val(sym, def, def_flags, p)) - continue; } else { if (line[0] != '\r' && line[0] != '\n') conf_warning("unexpected data: %.*s", @@ -503,6 +459,31 @@ int conf_read_simple(const char *name, int def) continue; } + sym = sym_find(sym_name); + if (!sym) { + if (def == S_DEF_AUTO) { + /* + * Reading from include/config/auto.conf. + * If CONFIG_FOO previously existed in auto.conf + * but it is missing now, include/config/FOO + * must be touched. + */ + conf_touch_dep(sym_name); + } else { + if (warn_unknown) + conf_warning("unknown symbol: %s", sym_name); + + conf_set_changed(true); + } + continue; + } + + if (sym->flags & def_flags) + conf_warning("override: reassigning to symbol %s", sym->name); + + if (conf_set_sym_val(sym, def, def_flags, val)) + continue; + if (sym && sym_is_choice_value(sym)) { struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); switch (sym->def[def].tri) { From patchwork Sat Nov 18 07:59:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 166465 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp1047830vqn; Fri, 17 Nov 2023 23:59:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IEyhQfHGviSkqxI0DNG+6O8IHM4q5jH8DF3tHZ8+J6rq2HnP0KjBI/sGsD+bxKqiJumU9yr X-Received: by 2002:a05:6808:1a09:b0:3b2:ef9c:d1b1 with SMTP id bk9-20020a0568081a0900b003b2ef9cd1b1mr2460208oib.6.1700294374569; Fri, 17 Nov 2023 23:59:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700294374; cv=none; d=google.com; s=arc-20160816; b=Yo7Hib2mnapw9qaEHyufe8t3g09jMF3Nqgcbv2CEoLIE1a+mdNRhbVTxdYdWNrJxcS jM3rlMoYkormxy8RaDfvvDcvUUCNGSHCh54ruKuHAw4pczcHzpLSimlTV7H5OwODT3dP oOBv0K+L0XrDrKjGwjjNlPMzYpoBIvpkHaH3RI8PmdozC3ddlOQl66YYfPy6sJq2FUGi qTaiMM13fs8FHzJTPAUIr+olh96NsGLCjFWnwUjmix8MrZY+hx/yKtL9vI/fBt+2faCb cQvCOmUUihqFW30yui6GLXlepOvVOJXSRREdbMWo0oAfUwWQZZtlYf1I6Pynv+N8KAEb s0KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=5+LpRcHVwgj6rons9UxyT53hN+X3c+pujXkWcR8deQ0=; fh=oQbvuNnOUeIuBT5siQdg+euUHNNdn+CeEwAg69/1RSo=; b=03YZvfz8ZY1cnlJEQfFaWvWYlAc11VQS9OLVXfiJG8jhTUsiLxzjt8xICJV1ukNdjZ Uzevl9sMxtGSHiySLJZpCC5nad9pG2jX6k9C2HFvq0Y+NRCVJLtTCsppoqgvo2hN9SUG 10BvirLaDPeZsuVNxNJO1HxP5CgFB26pkEAdhLG770q+Cth5t5ILoCn7mkSnSW4+lt0Y C70CCM1+EqBdTF3CrOKMQhswj3NM7P99TCx9doXNrWLxZK4VqqR0r0XkZ7QsxgoDdk+L LJBWWLdpkIeHA+bpOdMTuleufT2OFgQh5jWYkwWP+jvTfXmcrzPqZfN9KpQC4L2e9jbM 6a+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nKXRv4Zt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id a12-20020a63e84c000000b005bd3da15474si3643111pgk.839.2023.11.17.23.59.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 23:59:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nKXRv4Zt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id C7A4982AE2C1; Fri, 17 Nov 2023 23:59:33 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232760AbjKRH72 (ORCPT + 29 others); Sat, 18 Nov 2023 02:59:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232422AbjKRH7X (ORCPT ); Sat, 18 Nov 2023 02:59:23 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D628D5C for ; Fri, 17 Nov 2023 23:59:20 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F603C433CA; Sat, 18 Nov 2023 07:59:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700294359; bh=7B9xzLj7sIaqmkQ1H5s+m9dY9DubmYm9c00xpE/4MPg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nKXRv4Zt8qe0WCMduKIxPCC67/0jUCspqh1jRXrxruCDwXj1rPlOzGpHrKK393xgV XTbNFN58g73dfeBmmoTv6FNn7csho25HIDWOeOi+JgP0pMzHqk7ConchAkFCgfuGjs HHJw1tmEiM3RHF2DXXudpFiZzd2Vm61Nx++tNS7T/B1EbekHZ0OQOzgdQE3CPJt36k xNkz32DDAi0EsbjFpix58JEKrDgUaMT0DPKBDoTxSwUS4eP2pt0kHq6H6PM9OVNoqm dYGidN2bS39UrtgQq10pWPvs5mXvAKFXRouaC0ZZVjMZiNiqYLGBS6YdKI+eOcrC+U zhRh0mjghKVPw== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 4/6] kconfig: introduce getline_stripped() helper Date: Sat, 18 Nov 2023 16:59:10 +0900 Message-Id: <20231118075912.1303509-4-masahiroy@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231118075912.1303509-1-masahiroy@kernel.org> References: <20231118075912.1303509-1-masahiroy@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 17 Nov 2023 23:59:33 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782887874244737647 X-GMAIL-MSGID: 1782887874244737647 Currently, newline characters are stripped away in multiple places on the caller. Doing that in the callee is helpful for further cleanups. Signed-off-by: Masahiro Yamada --- scripts/kconfig/confdata.c | 40 +++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index b6a90f6baea1..795ac6c9378f 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -337,12 +337,32 @@ static ssize_t compat_getline(char **lineptr, size_t *n, FILE *stream) return -1; } +/* like getline(), but the newline character is stripped away */ +static ssize_t getline_stripped(char **lineptr, size_t *n, FILE *stream) +{ + ssize_t len; + + len = compat_getline(lineptr, n, stream); + + if (len > 0 && (*lineptr)[len - 1] == '\n') { + len--; + (*lineptr)[len] = '\0'; + + if (len > 0 && (*lineptr)[len - 1] == '\r') { + len--; + (*lineptr)[len] = '\0'; + } + } + + return len; +} + int conf_read_simple(const char *name, int def) { FILE *in = NULL; char *line = NULL; size_t line_asize = 0; - char *p, *p2, *val; + char *p, *val; struct symbol *sym; int i, def_flags; const char *warn_unknown, *werror, *sym_name; @@ -421,7 +441,7 @@ int conf_read_simple(const char *name, int def) } } - while (compat_getline(&line, &line_asize, in) != -1) { + while (getline_stripped(&line, &line_asize, in) != -1) { conf_lineno++; if (line[0] == '#') { if (line[1] != ' ') @@ -443,19 +463,11 @@ int conf_read_simple(const char *name, int def) p = strchr(sym_name, '='); if (!p) continue; - *p++ = 0; - val = p; - p2 = strchr(p, '\n'); - if (p2) { - *p2-- = 0; - if (*p2 == '\r') - *p2 = 0; - } + *p = 0; + val = p + 1; } else { - if (line[0] != '\r' && line[0] != '\n') - conf_warning("unexpected data: %.*s", - (int)strcspn(line, "\r\n"), line); - + if (line[0] != '\0') + conf_warning("unexpected data: %s", line); continue; } From patchwork Sat Nov 18 07:59:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 166466 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp1047856vqn; Fri, 17 Nov 2023 23:59:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IHytbY43Bay5TXZ3jSfGN9zYiykSpqDVP2zeioaCuDI4eSSK7lsXE3jh2GCrh1MPL8VLmjw X-Received: by 2002:a05:622a:1815:b0:41e:19d5:bdf5 with SMTP id t21-20020a05622a181500b0041e19d5bdf5mr2147645qtc.48.1700294378919; Fri, 17 Nov 2023 23:59:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700294378; cv=none; d=google.com; s=arc-20160816; b=EUoJfkPv5W3Bs2zM2B8VuqbAOTaTaKxwGnlduYQT5cIRAdPBIzPCpSDjtoCD2qzua4 2IubUK0+vHqeR2zcY4H3xoG/heH1wxgQhoeIoPut/BTvxFKxeCJ+DsJQcDYGeaQLzeI1 Zxz1UkogLVXyS276kP4K75if7i/cxbymUusdEbNxEaYWz1AcX/YECucj4s/slaiBq9/5 zqqDuguhCFlczi+zPYgPJDTJKyla1HRK+/meXEyGop7t/M4dXPvrREL/TKi1bbmeGOUb xvX/OsjPBYmabb7kjant60hPDpyEd5MqnOi1orOTh/si9XTmCpUh5pv5bsYdkAhs0ENu Y1JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=6OOyFUkmdgAWrGhzdNXvnGtIyltC2xbRI9/BvC4MpLg=; fh=oQbvuNnOUeIuBT5siQdg+euUHNNdn+CeEwAg69/1RSo=; b=v5orzKVyLjE5u0alPM4iKBd9iIb7FDYKXjh9D12RahlMSvYTyMAKwTkyN1o+lWvw13 aFQq28iHn2G4dnT9I9Ur5Y2EXbmKPfk+SkboCTCfWpWziLKOUUtX6YiplAOTJ97Qyb/T s7gDDv4GegKAIgUTyzhOJ0N6qMehry5y3CZU+sjgHlSkRfwJbjti5XhJbkgKjpbZmXXR sid6mIZscD81/EvIiKEbX6ihtLlOBxvfQH322BezATCupMzUa5EOY3Q0teWga92Rd7yu s88L7pnAzrE4g2LKnfLGpsRAYPBlVbmclQC34HBnylbGy5cxv64TBIuufXUPSkDgzoV+ EH8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=dO8nnAy9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id a3-20020a631a43000000b005657ba564bdsi3625936pgm.826.2023.11.17.23.59.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 23:59:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=dO8nnAy9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 0ED6882BB546; Fri, 17 Nov 2023 23:59:38 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232611AbjKRH7d (ORCPT + 29 others); Sat, 18 Nov 2023 02:59:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60762 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232474AbjKRH7Y (ORCPT ); Sat, 18 Nov 2023 02:59:24 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 47698D51 for ; Fri, 17 Nov 2023 23:59:21 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4A797C433C9; Sat, 18 Nov 2023 07:59:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700294360; bh=JYJrXNFpHjgM9hzobfa0oay+OYFkHJDCeKRYtYSm0BA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dO8nnAy9OwYrA+7yb/7/G7ZlgLeEt/p5iY39MO0KMnqweiduZpzpDiySsbNtIuris 3XRqXgjRWjdHgJ/yB+xjvPAdfA9KZQ6lk+V33CWAdWFeOFC4Ku25rt1uPTxijl0vFO 3HzJHG3iWTcWokJY1ON/H0qoZQjNL1YMOzOd3LBOlaOdMyfyomdlJUlxI1GP2qd4w8 3I+tv5NxJrGgUIjhD3u872dZjB3kohUSIEYOcGvcYEkrfi3OkFS4c0s+vQURYryrIr td0ypwhWx4E4vvqOn7LEqzCZDhuqpyO/2BS9uTBeLL/zzA+dIfsLiaSS2QGaoJepZ9 qyQJJlqox5B6g== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 5/6] kconfig: require an exact match for "is not set" to disable CONFIG option Date: Sat, 18 Nov 2023 16:59:11 +0900 Message-Id: <20231118075912.1303509-5-masahiroy@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231118075912.1303509-1-masahiroy@kernel.org> References: <20231118075912.1303509-1-masahiroy@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 17 Nov 2023 23:59:38 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782887878402220092 X-GMAIL-MSGID: 1782887878402220092 Currently, any string starting "is not set" disables a CONFIG option. For example, "# CONFIG_FOO is not settled down" is accepted as valid input, functioning the same as "# CONFIG_FOO is not set". It is a long-standing oddity. Check the line against the exact pattern "is not set". Signed-off-by: Masahiro Yamada --- scripts/kconfig/confdata.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 795ac6c9378f..958be12cd621 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -454,7 +454,7 @@ int conf_read_simple(const char *name, int def) if (!p) continue; *p++ = 0; - if (strncmp(p, "is not set", 10)) + if (strcmp(p, "is not set")) continue; val = "n"; From patchwork Sat Nov 18 07:59:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 166467 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp1047872vqn; Fri, 17 Nov 2023 23:59:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IHGEc/OWmhy32XS8LjLBY9dAvO45jfa4ibibXfKJU3JwXV35sMgZv1aJwtSyOhJOjqFk7+V X-Received: by 2002:a05:6a20:12c4:b0:187:df72:48ef with SMTP id v4-20020a056a2012c400b00187df7248efmr2343780pzg.0.1700294383736; Fri, 17 Nov 2023 23:59:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700294383; cv=none; d=google.com; s=arc-20160816; b=G8w2fEbtGXKCclNf4UHRaos14gkWF6cHlGxccPP6lRdAIjrxoFqEdm8DihyxJg4fB4 Eke51duHB7kYUJtry1ePXoEz8HllM9RwMDN1BXvosZGrqxyVPj0fvleuywzc6dKEu9Zx oYj97FUAZ5UQvjAdqAuf3om7DIzVvee+w9HvBywZgr7embu194YTfQZP1vAmR5xWfpTJ LpaFbhRat4bwmqcw82NsOaNMZMXl64JmPFnm9LBfeyirUMXU5q3h0WjYY/hCRsuD9f0O CaVJKckw6sEzqJsJnTfVunl7Ns5bgRzEymIp3vptbVzZNzwIK6Ax+ArjU2e5pHKltAWm jZmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2KLyTHiwx2tQ37Ksrj6mIsU8ioJcauvmf3hLYotpkFM=; fh=oQbvuNnOUeIuBT5siQdg+euUHNNdn+CeEwAg69/1RSo=; b=0/p8d2Bftggp22qPhn4VRdUOJTJakstGES2CHYrPljISRxvdJBYY0YQqxgvvi6/JdO cnK7D4ptf8gYXoU5epem2jeUFq0SayZJYDiEBQt6M0ge5j+nU0cIO+O5WLsbFXu01XY1 VkzvkhMJVe9SUBeiJH6b2ke2orP6o3n4FLpVC6xpzZQcy4V5OkL5w/tGuA/MIQ7RLoLL Yn8TtyflwqoM4eOXHILhYYD3VUw+tTgCbUv9wLYkMN+LF1gQ6D/h7qLahBQJ2ovc4ivK XmXalJUTKEEt7NgMu/bQ9oYPiap+yRQiEpeHsX+DZY1zsTId1mVVC3QAmDPyOFGvz/E1 wylw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=bYhntA+b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id v19-20020a17090ac91300b0026b698fdda6si4744391pjt.98.2023.11.17.23.59.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 23:59:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=bYhntA+b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 8A17382AE2C1; Fri, 17 Nov 2023 23:59:42 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232982AbjKRH7e (ORCPT + 29 others); Sat, 18 Nov 2023 02:59:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60778 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232601AbjKRH7Z (ORCPT ); Sat, 18 Nov 2023 02:59:25 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6CA29D5D for ; Fri, 17 Nov 2023 23:59:22 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55CCEC433C7; Sat, 18 Nov 2023 07:59:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700294362; bh=ltXpZxzZisF0fheB2Pyv5Oadd/1xNAmgjgKDKLE8PmQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bYhntA+bM5EgGMr+Y1nx358VbjA5Rv+51e6CcZ80YMxkhU4lpcKO0p/3dXATjkqjV /A1qhJ7XQkypaUyXWtwXiCmMBogTlAQtzTj4GhE0d6JAn48m0X7xA1JtoIT+0mxmaO xLlQdKJPc5vBZsuV/S/WrCVEPfl2eD2/Xxfo25ky6sqqDeAOgQzKXzhBtyKiIFY5d/ FvVHKy7p8qFn1VA9K5Et/c2VCYldtOXiadTCumf/TzhQYwkisLzvhsM8Js4cT59mjk 08gXBP+1qpMPsNY66BX4/pCAn+uMqbwPBVt8eB6+HkBKA1+r5/1CLv9FlWlKHEB3vU xU+XFBgSIXhQQ== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada Subject: [PATCH 6/6] kconfig: massage the loop in conf_read_simple() Date: Sat, 18 Nov 2023 16:59:12 +0900 Message-Id: <20231118075912.1303509-6-masahiroy@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231118075912.1303509-1-masahiroy@kernel.org> References: <20231118075912.1303509-1-masahiroy@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 17 Nov 2023 23:59:42 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782887883701415533 X-GMAIL-MSGID: 1782887883701415533 Make the while-loop code a little more readable. The gain is that "CONFIG_FOO" without '=' is warned as unexpected data. Signed-off-by: Masahiro Yamada --- scripts/kconfig/confdata.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 958be12cd621..bd14aae1db58 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -443,6 +443,10 @@ int conf_read_simple(const char *name, int def) while (getline_stripped(&line, &line_asize, in) != -1) { conf_lineno++; + + if (!line[0]) /* blank line */ + continue; + if (line[0] == '#') { if (line[1] != ' ') continue; @@ -458,17 +462,20 @@ int conf_read_simple(const char *name, int def) continue; val = "n"; - } else if (memcmp(line, CONFIG_, strlen(CONFIG_)) == 0) { + } else { + if (memcmp(line, CONFIG_, strlen(CONFIG_))) { + conf_warning("unexpected data: %s", line); + continue; + } + sym_name = line + strlen(CONFIG_); p = strchr(sym_name, '='); - if (!p) + if (!p) { + conf_warning("unexpected data: %s", line); continue; + } *p = 0; val = p + 1; - } else { - if (line[0] != '\0') - conf_warning("unexpected data: %s", line); - continue; } sym = sym_find(sym_name);