Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46418413 authored by Kees Cook's avatar Kees Cook
Browse files

pstore: Check for prz allocation in walker



Instead of needing additional checks in callers for unallocated przs,
perform the check in the walker, which gives us a more universal way to
handle the situation.

Signed-off-by: default avatarKees Cook <keescook@chromium.org>
parent 76d5692a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -133,7 +133,8 @@ ramoops_get_next_prz(struct persistent_ram_zone *przs[], uint *c, uint max,
	struct persistent_ram_zone *prz;
	int i = (*c)++;

	if (i >= max)
	/* Give up if we never existed or have hit the end. */
	if (!przs || i >= max)
		return NULL;

	prz = przs[i];
@@ -280,7 +281,7 @@ static ssize_t ramoops_pstore_read(u64 *id, enum pstore_type_id *type,
					   1, id, type, PSTORE_TYPE_PMSG, 0);

	/* ftrace is last since it may want to dynamically allocate memory. */
	if (!prz_ok(prz) && cxt->fprzs) {
	if (!prz_ok(prz)) {
		if (!(cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU)) {
			prz = ramoops_get_next_prz(cxt->fprzs,
					&cxt->ftrace_read_cnt, 1, id, type,