From: Julian Braha <julianbraha@gmail.com>
To: Erkan Erdem <hexvalid@gmail.com>,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nsc@kernel.org>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] kconfig: preserve the final answer when input has no newline
Date: Sat, 5 Sep 2026 15:11:44 +0100 [thread overview]
Message-ID: <1235548d-5326-4ab7-be9a-f33954e8fe40@gmail.com> (raw)
In-Reply-To: <20260905123237.40670-1-hexvalid@gmail.com>
Hi Erkan,
I see that this is your first patch submission to the kernel. Welcome!
First thing, if you run the ./scripts/get_maintainer.pl check on this
patch, it should list a few more people to CC.
On 9/5/26 13:32, Erkan Erdem wrote:
> conf_string() unconditionally removes the last character returned by
> fgets(), assuming that it is a newline. When redirected input ends
> without a newline, the last character is part of the answer instead.
> For example, feeding 42 to an integer prompt stores 4, and feeding
> 0xff to a hexadecimal prompt stores 0xf. Both commands succeed despite
> silently changing the supplied value.
>
> Strip the newline with strcspn() so that a complete answer at EOF is
> preserved. Keep the existing handling of newline-terminated and empty
> answers unchanged.
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Assisted-by: LLM
> Signed-off-by: Erkan Erdem <hexvalid@gmail.com>
> ---
>
> An AI coding assistant found the issue, prepared the fix and changelog,
> and ran the verification below after a request to find reproducible
> functional bugs in Linux development tools.
>
> Validation:
> - Built conf with Clang on macOS and GCC in an x86_64 Linux container,
> using -Wall -Wmissing-prototypes -Wstrict-prototypes -Werror.
> - Ran 60 before/after executions on each platform, covering oldaskconfig
> and oldconfig with string, int and hex answers. Unterminated answers
> retain their last character. Newline, empty-answer, empty-input and
> CRLF controls keep the same results.
> - The 21 existing Kconfig tests pass on macOS.
> - This tests the host configuration tool; a complete kernel was not built.
Since you already have some tests, it would be good to add a basic test
for this in scripts/kconfig/tests.
Kconfig doesn't have as many tests as it should, and it's been
complained about by some core maintainers in the past [1].
>
> scripts/kconfig/conf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
> index fe8ba09b..46c9ca64 100644
> --- a/scripts/kconfig/conf.c
> +++ b/scripts/kconfig/conf.c
> @@ -343,7 +343,7 @@ static int conf_string(struct menu *menu)
> }
> /* fall through */
> default:
> - line[strlen(line)-1] = 0;
> + line[strcspn(line, "\n")] = 0;
> def = line;
> }
> if (def && sym_set_string_value(sym, def))
>
> base-commit: 4d7d9486c04d917265f64c55bd23b2cc4fe7749c
Otherwise this change looks good to me (and is more readable).
Link: https://lore.kernel.org/all/20180206093803.GC31558@kroah.com/ [1]
- Julian Braha
prev parent reply other threads:[~2026-09-05 14:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-05 12:32 [PATCH 1/2] kconfig: preserve the final answer when input has no newline Erkan Erdem
2026-09-05 12:32 ` [PATCH 2/2] checkkconfigsymbols: resolve revisions before resetting the tree Erkan Erdem
2026-09-05 14:11 ` Julian Braha
2026-09-05 14:11 ` Julian Braha [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1235548d-5326-4ab7-be9a-f33954e8fe40@gmail.com \
--to=julianbraha@gmail.com \
--cc=hexvalid@gmail.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.