From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1F9E2E0413 for ; Thu, 18 Jun 2026 10:04:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781777093; cv=none; b=lfCU71dgcTCv1iuZ8BDrsyFIXHGj4dmk9Vl/OHtHGF+OZ0DYDY+ZO0DpKGyb8RuA7Ga0kM6Rt4u51a2gEjjlEb2Mh4hT6IzlHtpksegM/zQjgY6vY3QL8NxAUXwgL2S0Jp3pJP7CJ7QAww2nrivCp99xqVJGrfxNcK2r5f7U6wc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781777093; c=relaxed/simple; bh=J1uC9LX11lnEalYJE2DUWuRllIAWaqJybzLoXrGCdMs=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=KxWMLo4r0ZJpItszDRa1iJhA1zhF9DdJSRnJbRyEm4OTV2TtD/DJarndnP/yOKyqQ68SZdqEio1jqtDSo6OuYSM/hYbmqWwktFnwy7wiKeLcRBgRVIArX+Tat+Mow1Ael2x7Zmc04+vDnAz856rTryqhpRdirK4hDFxVL2C88OI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JCaRUx54; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JCaRUx54" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-4624a44e152so632085f8f.2 for ; Thu, 18 Jun 2026 03:04:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781777090; x=1782381890; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=8t17Rp02n0R+0J0TJTwTgUnhLGpDP2SDgoUUlvXqZIc=; b=JCaRUx54UO7+IYvKlnstp/mx0KGKaY1W8uLat0q6yUkrXSqZMGKaDy7nk7weIyxd91 Ux5YHo+UHo2/JyKo8ChIp/6AmkmzLYR1iWPyCOrqZG3JtFOCz243qW1v4uGERS73bJkt Lf+dtuU7QekkpeVV/YD38b8IUDwrTjhBP6muBscq6+iKX97Ta+KU33qi72A8xY7aqh8J ekJrbYTdygRGT6gtsncvcWhTxm4uH26Eb6VXS2SJy30qMmAJRRJknjdLP+rv98D4LL6V 9XGbHyi7zaFuoUMwMeLSWUl7xQM1hL7mF95N64LtdTDiFTskYlHPtOtlc4VCSO7w1gBC 18fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781777090; x=1782381890; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8t17Rp02n0R+0J0TJTwTgUnhLGpDP2SDgoUUlvXqZIc=; b=M2/7q+5ZXBfuxtqhNK7JtYMPezniYcMsj+W40NmTQj188tTVnGlmzsxWSuhTbY6HqK TKj3FM3BgFobo5FQY+V4tK1OfM2OrQV+BNBBuA6tfMC944f4cu/f6tHSK9b0v7cIf7SN AVwJTWQQTW/jpgRfWHXPCvNbvbpLmal5Zpw+voCFMZ7d7tQbxO0ey7d6TbhOzpg8DoH6 xUxCUEytE5szEM/MDPGYq8JG+4pANjD+NLH3ECOv1RqzbREyOz5Q3NnNRUjXSyjlq43c 2n1jAcZWpplL6mse+5FAI5I04vwk0a+KVom6cJQ0ww5G4CaPpNL5kW5VOotvzmP8ugxk h/GQ== X-Forwarded-Encrypted: i=1; AFNElJ/l4cvSvtkFksPMbBZBL3DQvWePV4zV4ubMmx2yK3A+R9qNQknApqWoCHse48ueoiWWgns8l8YyTGF35Wc=@vger.kernel.org X-Gm-Message-State: AOJu0YxAmb5MwgiG/ZqCpzNkGHj14jIimDqhQ+SgOxSLZ0srSaopj6o6 qQHFaJXGU2OkC28jQ4aSKFoPsWEG7kZ6Eg84VumeXEt28PoixKUKeZxN X-Gm-Gg: AfdE7cmdH7RSCrsOYPA7qcFTEFjqv0XrEEzTCp/es48FGfvGaXVgrIrmhpL2trhTpyJ E+DmRfjBf+M7Ot4unQIfceiHuHDtm9TEO/y0owCpmFbS5x3J7WriznRLw8wqgEvMAMpDJGQY3eB Urt1JkC0SRkxXQQq4TMF4xJr28veEAEB+zqPBu7XcPF87SMv/sOCpThYgt1xtWNEMbfEvjVByaI WuEl27LTM+VoObqQrk6ujvws2TFEr5qe37laaZOb/+fcksJd3lg3+ecVYqZOE2O4z7k2uaPuIlX deEtUl4dWfi6AoMrrWxRIbQiGjrLBAFSNtfjb2gxd3gzmQEiMAPzLBPcdia/NHCteytHSZfHC06 k5ZeoslBGLq6qtjzYAqDO8hSzVpHpuTvqbOjRnX08UT4gTEHd60GLkttjcmMPI9qOjlxNQDZXYN VKw/N6Hz5VjH54AXgnlCPt5YKGQ+esvJ9CO9G4v4BnqWxyvhwysA== X-Received: by 2002:a05:6000:2a08:b0:461:a161:7908 with SMTP id ffacd0b85a97d-4623927871amr9435305f8f.36.1781777089648; Thu, 18 Jun 2026 03:04:49 -0700 (PDT) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4606f26f1cdsm64490640f8f.11.2026.06.18.03.04.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 03:04:49 -0700 (PDT) Date: Thu, 18 Jun 2026 11:04:47 +0100 From: David Laight To: Doug Anderson Cc: Naveen Kumar Chaudhary , jason.wessel@windriver.com, danielt@kernel.org, kgdb-bugreport@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] kdb: unify CMD_BUFLEN definition into kdb_private.h Message-ID: <20260618110447.61911245@pumpkin> In-Reply-To: References: X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, 17 Jun 2026 14:16:41 -0700 Doug Anderson wrote: > Hi, >=20 > On Tue, Jun 16, 2026 at 7:28=E2=80=AFPM Naveen Kumar Chaudhary > wrote: > > > > CMD_BUFLEN was defined separately in kdb_io.c (256) and kdb_main.c > > (200), causing kdb_main.c to use the wrong size when formatting the > > prompt string into kdb_prompt_str (which is 256 bytes). > > > > Move CMD_BUFLEN (256) into kdb_private.h so all users share a single > > consistent definition, and remove the local definitions from both > > files. > > > > Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)") > > Signed-off-by: Naveen Kumar Chaudhary > > --- > > kernel/debug/kdb/kdb_io.c | 1 - > > kernel/debug/kdb/kdb_main.c | 6 ++---- > > kernel/debug/kdb/kdb_private.h | 3 ++- > > 3 files changed, 4 insertions(+), 6 deletions(-) > > > > diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c > > index c399f11740ef..f5b1b7d4c9c8 100644 > > --- a/kernel/debug/kdb/kdb_io.c > > +++ b/kernel/debug/kdb/kdb_io.c > > @@ -22,7 +22,6 @@ > > #include > > #include "kdb_private.h" > > > > -#define CMD_BUFLEN 256 > > char kdb_prompt_str[CMD_BUFLEN]; > > > > int kdb_trap_printk; > > diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c > > index ddce56b47b25..ca0126db9850 100644 > > --- a/kernel/debug/kdb/kdb_main.c > > +++ b/kernel/debug/kdb/kdb_main.c > > @@ -783,8 +783,6 @@ static int kdb_exec_defcmd(int argc, const char **a= rgv) > > > > /* Command history */ > > #define KDB_CMD_HISTORY_COUNT 32 > > -#define CMD_BUFLEN 200 /* kdb_printf: max printline > > - * size =3D=3D 256 */ =20 >=20 > Maybe Daniel will know more; otherwise, I need to spend more time > digging. ...but the comment above (that you're deleting) makes me > believe that 200 was purposely chosen to be a number that was under > 256. It sounds as if maybe they're keeping some buffers at 200 so that > there'e enough extra space to print the buffer plus some extra stuff? >=20 > Maybe safer to keep the number at 200? I bet the prompt+command has to fit in 256 bytes? Who wants a prompt that is more than (about) 20 characters anyway? Why do some systems default to shell prompts that include the full directory name? FWIW there are a few other very strange strcpy() in kdbg that I'm pretty sure can actually overwrite the end of the buffer. (Ones that put a special marker string (IIRC "kdbg") into a buffer.) David >=20 >=20 > > static unsigned int cmd_head, cmd_tail; > > static unsigned int cmdptr; > > static char cmd_hist[KDB_CMD_HISTORY_COUNT][CMD_BUFLEN]; > > @@ -1265,8 +1263,8 @@ static int kdb_local(kdb_reason_t reason, int err= or, struct pt_regs *regs, > > > > do_full_getstr: > > /* PROMPT can only be set if we have MEM_READ permissio= n. */ > > - snprintf(kdb_prompt_str, CMD_BUFLEN, kdbgetenv("PROMPT"= ), > > - raw_smp_processor_id()); > > + snprintf(kdb_prompt_str, CMD_BUFLEN, > > + kdbgetenv("PROMPT"), raw_smp_processor_id()); = =20 >=20 > Unrelated whitespace change. Drop from your patch. >=20 >=20 > > /* > > * Fetch command from keyboard > > diff --git a/kernel/debug/kdb/kdb_private.h b/kernel/debug/kdb/kdb_priv= ate.h > > index 92a28b8ab604..722e8aa50724 100644 > > --- a/kernel/debug/kdb/kdb_private.h > > +++ b/kernel/debug/kdb/kdb_private.h > > @@ -225,7 +225,8 @@ extern void kdb_kbd_cleanup_state(void); > > #define kdb_kbd_cleanup_state() > > #endif /* ! CONFIG_KDB_KEYBOARD */ > > > > -extern char kdb_prompt_str[]; > > +#define CMD_BUFLEN 256 > > +extern char kdb_prompt_str[CMD_BUFLEN]; =20 >=20 > Now that this is in a header file, a slightly less generic name would > be good. Maybe rename to KDB_BUFLEN" >=20