]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
pstore/ram: Add kmsg hlen zero check to ramoops_pstore_write()
authorYue Hu <huyue2@yulong.com>
Fri, 1 Feb 2019 03:27:32 +0000 (11:27 +0800)
committerKees Cook <keescook@chromium.org>
Tue, 12 Feb 2019 20:38:54 +0000 (12:38 -0800)
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: Yue Hu <huyue2@yulong.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
fs/pstore/ram.c

index d06e2f3e3bec9ec0dcc97f1a0b03f95b88516de1..ec0e1da0596a5375299b85fa567f71a01a0e6918 100644 (file)
@@ -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;