Commit 4c6c4d34 authored by Yue Hu's avatar Yue Hu Committed by Kees Cook
Browse files

pstore: Avoid writing records with zero size



Sometimes pstore_console_write() will write records with zero size
to persistent ram zone, which is unnecessary. It will only increase
resource consumption. Also adjust ramoops_write_kmsg_hdr() to have
same logic if memory allocation fails.

Signed-off-by: default avatarYue Hu <huyue2@yulong.com>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
parent 182ca6e0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -501,6 +501,9 @@ static void pstore_console_write(struct console *con, const char *s, unsigned c)
{
	struct pstore_record record;

	if (!c)
		return;

	pstore_record_init(&record, psinfo);
	record.type = PSTORE_TYPE_CONSOLE;

+4 −2
Original line number Diff line number Diff line
@@ -352,8 +352,10 @@ static size_t ramoops_write_kmsg_hdr(struct persistent_ram_zone *prz,
		(time64_t)record->time.tv_sec,
		record->time.tv_nsec / 1000,
		record->compressed ? 'C' : 'D');
	WARN_ON_ONCE(!hdr);
	len = hdr ? strlen(hdr) : 0;
	if (WARN_ON_ONCE(!hdr))
		return 0;

	len = strlen(hdr);
	persistent_ram_write(prz, hdr, len);
	kfree(hdr);