From: Tyrel Datwyler <tyreld@linux.ibm.com>
To: mpe@ellerman.id.au
Cc: mwb@linux.vnet.ibm.com, msuchanek@suse.de,
linuxppc-dev@lists.ozlabs.org,
Tyrel Datwyler <tyreld@linux.ibm.com>
Subject: [PATCH] powerpc/pseries: fix of_read_drc_info_cell() to point at next record
Date: Fri, 6 Mar 2020 20:45:47 -0600 [thread overview]
Message-ID: <20200307024547.5748-1-tyreld@linux.ibm.com> (raw)
The expectation is that when calling of_read_drc_info_cell()
repeatedly to parse multiple drc-info records that the in/out curval
parameter points at the start of the next record on return. However,
the current behavior has curval still pointing at the final value of
the record just parsed. The result of which is that if the
ibm,drc-info property contains multiple properties the parsed value
of the drc_type for any record after the first has the power_domain
value of the previous record appended to the type string.
Ex: observed the following 0xffffffff prepended to PHB
[ 69.485037] drc-info: type: \xff\xff\xff\xffPHB, prefix: PHB , index_start: 0x20000001
[ 69.485038] drc-info: suffix_start: 1, sequential_elems: 3072, sequential_inc: 1
[ 69.485038] drc-info: power-domain: 0xffffffff, last_index: 0x20000c00
Fix by incrementing curval past the power_domain value to point at
drc_type string of next record.
Fixes: a29396653b8bf ("pseries/drc-info: Search DRC properties for CPU indexes")
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
---
arch/powerpc/platforms/pseries/of_helpers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/of_helpers.c b/arch/powerpc/platforms/pseries/of_helpers.c
index 66dfd8256712..23241c71ef37 100644
--- a/arch/powerpc/platforms/pseries/of_helpers.c
+++ b/arch/powerpc/platforms/pseries/of_helpers.c
@@ -88,7 +88,7 @@ int of_read_drc_info_cell(struct property **prop, const __be32 **curval,
return -EINVAL;
/* Should now know end of current entry */
- (*curval) = (void *)p2;
+ (*curval) = (void *)(++p2);
data->last_drc_index = data->drc_index_start +
((data->num_sequential_elems - 1) * data->sequential_inc);
--
2.16.4
next reply other threads:[~2020-03-07 2:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-07 2:45 Tyrel Datwyler [this message]
2020-03-10 17:25 ` [PATCH] powerpc/pseries: fix of_read_drc_info_cell() to point at next record Nathan Lynch
2020-03-10 18:18 ` Tyrel Datwyler
2020-03-12 5:43 ` Michael Ellerman
2020-03-12 15:56 ` Nathan Lynch
2020-03-13 2:29 ` Michael Ellerman
2020-03-12 21:34 ` Tyrel Datwyler
2020-03-13 2:16 ` Michael Ellerman
2020-03-26 12:06 ` Michael Ellerman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200307024547.5748-1-tyreld@linux.ibm.com \
--to=tyreld@linux.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=msuchanek@suse.de \
--cc=mwb@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).