aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKunwu Chan <chentao@kylinos.cn>2024-01-18 18:02:06 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-04-13 12:59:41 +0200
commit98e2b97acb875d65bdfc75fc408e67975cef3041 (patch)
treeedfcbc3739bd282e3c6f9f4feedf687d89a8714a
parenta3cd11046393e3b4c9d049a1186698341c7ca8f4 (diff)
downloadchromeos-98e2b97acb875d65bdfc75fc408e67975cef3041.tar.gz
pstore/zone: Add a null pointer check to the psz_kmsg_read
[ Upstream commit 98bc7e26e14fbb26a6abf97603d59532475e97f8 ] kasprintf() returns a pointer to dynamically allocated memory which can be NULL upon failure. Ensure the allocation was successful by checking the pointer validity. Signed-off-by: Kunwu Chan <chentao@kylinos.cn> Link: https://lore.kernel.org/r/20240118100206.213928-1-chentao@kylinos.cn Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--fs/pstore/zone.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/pstore/zone.c b/fs/pstore/zone.c
index b50fc33f2ab299..2426fb6794fd3a 100644
--- a/fs/pstore/zone.c
+++ b/fs/pstore/zone.c
@@ -973,6 +973,8 @@ static ssize_t psz_kmsg_read(struct pstore_zone *zone,
char *buf = kasprintf(GFP_KERNEL, "%s: Total %d times\n",
kmsg_dump_reason_str(record->reason),
record->count);
+ if (!buf)
+ return -ENOMEM;
hlen = strlen(buf);
record->buf = krealloc(buf, hlen + size, GFP_KERNEL);
if (!record->buf) {