]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
kdb: Fix a potential buffer overflow in kdb_local()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 25 Nov 2023 12:05:04 +0000 (13:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:45:30 +0000 (15:45 -0800)
commit4daed382c477b2e3f9e83ac7a0d5cf33a97e31d2
tree3f554719f2df6824faef671e1b46dee01e38a744
parente24bf5b47a5788a8f9c74012c808f5a9bc149a7f
kdb: Fix a potential buffer overflow in kdb_local()

[ Upstream commit 4f41d30cd6dc865c3cbc1a852372321eba6d4e4c ]

When appending "[defcmd]" to 'kdb_prompt_str', the size of the string
already in the buffer should be taken into account.

An option could be to switch from strncat() to strlcat() which does the
correct test to avoid such an overflow.

However, this actually looks as dead code, because 'defcmd_in_progress'
can't be true here.
See a more detailed explanation at [1].

[1]: https://lore.kernel.org/all/CAD=FV=WSh7wKN7Yp-3wWiDgX4E3isQ8uh0LCzTmd1v9Cg9j+nQ@mail.gmail.com/

Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/debug/kdb/kdb_main.c