pstore: Pass header size in the pstore write callback
Header size is needed to distinguish between header and the dump data. Incorporate the addition of new argument (hsize) in the pstore write callback. Signed-off-by: Aruna Balakrishnaiah <aruna@linux.vnet.ibm.com> Acked-by: Kees Cook <keescook@chromium.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:

committed by
Benjamin Herrenschmidt

parent
74251fe21b
commit
6bbbca7359
@@ -159,7 +159,7 @@ static void pstore_dump(struct kmsg_dumper *dumper,
|
||||
break;
|
||||
|
||||
ret = psinfo->write(PSTORE_TYPE_DMESG, reason, &id, part,
|
||||
oopscount, hsize + len, psinfo);
|
||||
oopscount, hsize, hsize + len, psinfo);
|
||||
if (ret == 0 && reason == KMSG_DUMP_OOPS && pstore_is_mounted())
|
||||
pstore_new_entry = 1;
|
||||
|
||||
@@ -196,7 +196,7 @@ static void pstore_console_write(struct console *con, const char *s, unsigned c)
|
||||
spin_lock_irqsave(&psinfo->buf_lock, flags);
|
||||
}
|
||||
memcpy(psinfo->buf, s, c);
|
||||
psinfo->write(PSTORE_TYPE_CONSOLE, 0, &id, 0, 0, c, psinfo);
|
||||
psinfo->write(PSTORE_TYPE_CONSOLE, 0, &id, 0, 0, 0, c, psinfo);
|
||||
spin_unlock_irqrestore(&psinfo->buf_lock, flags);
|
||||
s += c;
|
||||
c = e - s;
|
||||
@@ -221,9 +221,11 @@ static void pstore_register_console(void) {}
|
||||
static int pstore_write_compat(enum pstore_type_id type,
|
||||
enum kmsg_dump_reason reason,
|
||||
u64 *id, unsigned int part, int count,
|
||||
size_t size, struct pstore_info *psi)
|
||||
size_t hsize, size_t size,
|
||||
struct pstore_info *psi)
|
||||
{
|
||||
return psi->write_buf(type, reason, id, part, psinfo->buf, size, psi);
|
||||
return psi->write_buf(type, reason, id, part, psinfo->buf, hsize,
|
||||
size, psi);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -195,7 +195,8 @@ static size_t ramoops_write_kmsg_hdr(struct persistent_ram_zone *prz)
|
||||
static int notrace ramoops_pstore_write_buf(enum pstore_type_id type,
|
||||
enum kmsg_dump_reason reason,
|
||||
u64 *id, unsigned int part,
|
||||
const char *buf, size_t size,
|
||||
const char *buf,
|
||||
size_t hsize, size_t size,
|
||||
struct pstore_info *psi)
|
||||
{
|
||||
struct ramoops_context *cxt = psi->data;
|
||||
|
Reference in New Issue
Block a user