From: Nathan Fontenot <nfont@linux.vnet.ibm.com>
To: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: [PATCH 4/11] Add platform_has_feature()
Date: Tue, 19 Mar 2013 13:05:09 -0500 [thread overview]
Message-ID: <5148A8D5.4010608@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130314085905.GE9841@iris.ozlabs.ibm.com>
On 03/14/2013 03:59 AM, Paul Mackerras wrote:
> On Fri, Mar 08, 2013 at 10:02:31PM -0600, Nathan Fontenot wrote:
>> This patch adds a platform_has_feature() function to check features selected
>> by firmware and reported via the device tree 'ibm,architecture-vec5'
>> property. As part of this the #defines used for the architecture vector are
>> moved to prom.h and re-defined such that the vector 5 options have the vector
>> index and the feature bits encoded into them. This allows for callers of
>> platform_has_feature() to pass in a single pre-defined value.
>
> One other comment...
>
>> +#if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
>> +bool platform_has_feature(unsigned int feature)
>> +{
>> + struct device_node *chosen;
>> + const char *vec5;
>> + bool has_option;
>> +
>> + chosen = of_find_node_by_path("/chosen");
>> + if (!chosen)
>> + return false;
>> +
>> + vec5 = of_get_property(chosen, "ibm,architecture-vec-5", NULL);
>> + has_option = vec5 && (vec5[OV5_INDX(feature)] & OV5_FEAT(feature));
>
> You access vec5[index] without checking that the vector is at least
> index+1 bytes long, according to either the length byte at the
> beginning of the vector, or the total length of the property.
> Checking both would be a good idea.
>
Yep. Thanks for letting me know.
--
-Nathan
next prev parent reply other threads:[~2013-03-19 18:05 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-09 3:56 [PATCH 0/11] NUMA CPU Reconfiguration using PRRN Nathan Fontenot
2013-03-09 3:59 ` [PATCH 1/11] Expose pseries devicetree_update() Nathan Fontenot
2013-03-14 8:49 ` Paul Mackerras
2013-03-09 4:00 ` [PATCH2/11] Add PRRN Event Handler Nathan Fontenot
2013-03-14 8:51 ` Paul Mackerras
2013-03-19 18:01 ` Nathan Fontenot
2013-03-09 4:01 ` [PATCH 3/11] Move architecture vector definitions to prom.h Nathan Fontenot
2013-03-14 8:52 ` Paul Mackerras
2013-03-09 4:02 ` [PATCH 4/11] Add platform_has_feature() Nathan Fontenot
2013-03-14 8:56 ` Paul Mackerras
2013-03-19 18:03 ` Nathan Fontenot
2013-03-14 8:59 ` Paul Mackerras
2013-03-19 18:05 ` Nathan Fontenot [this message]
2013-03-14 13:42 ` Michael Ellerman
2013-03-19 18:15 ` Nathan Fontenot
2013-03-22 3:56 ` Michael Ellerman
2013-03-09 4:03 ` [PATCH 5/11] Update numa.c to use platform_has_feature() Nathan Fontenot
2013-03-09 4:04 ` [PATCH 6/11] Update CPU maps Nathan Fontenot
2013-03-09 4:05 ` [PATCH 7/11] Use stop machine to update cpu maps Nathan Fontenot
2013-03-09 4:07 ` [PATCH 8/11] Update numa cpu vdso info Nathan Fontenot
2013-03-14 9:02 ` Paul Mackerras
2013-03-09 4:08 ` [PATCH 9/11] Re-enable Virtual Private Home Node capabilities Nathan Fontenot
2013-03-09 4:08 ` [PATCH 10/11] Enable PRRN Nathan Fontenot
2013-03-09 4:10 ` [PATCH 11/11] Add /proc interface to control topology updates Nathan Fontenot
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=5148A8D5.4010608@linux.vnet.ibm.com \
--to=nfont@linux.vnet.ibm.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.