Commit 47afd7ae authored by Yue Hu's avatar Yue Hu Committed by Kees Cook
Browse files

pstore/ram: Add kmsg hlen zero check to ramoops_pstore_write()



If zero-length header happened in ramoops_write_kmsg_hdr(), that means
we will not be able to read back dmesg record later, since it will be
treated as invalid header in ramoops_pstore_read(). So we should not
execute the following code but return the error.

Signed-off-by: default avatarYue Hu <huyue2@yulong.com>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
parent 1e0f67a9
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -425,6 +425,9 @@ static int notrace ramoops_pstore_write(struct pstore_record *record)

	/* Build header and append record contents. */
	hlen = ramoops_write_kmsg_hdr(prz, record);
	if (!hlen)
		return -ENOMEM;

	size = record->size;
	if (size + hlen > prz->buffer_size)
		size = prz->buffer_size - hlen;