diff options
author | Kunwu Chan <chentao@kylinos.cn> | 2024-01-18 13:02:06 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-04-13 14:07:31 +0300 |
commit | ec7256887d072f98c42cdbef4dcc80ddf84c7a70 (patch) | |
tree | 74cb09bdd810c03983323cf048b83752127c7fe8 /fs/pstore | |
parent | a217b6135dab228b38b16f5d642d921281caa27e (diff) | |
download | linux-ec7256887d072f98c42cdbef4dcc80ddf84c7a70.tar.xz |
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>
Diffstat (limited to 'fs/pstore')
-rw-r--r-- | fs/pstore/zone.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/pstore/zone.c b/fs/pstore/zone.c index 2770746bb7aa..abca117725c8 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) { |