[PATCH] fdt_ro: Fix fdt_get_property_namelen() length bug

David Gibson david at gibson.dropbear.id.au
Tue Mar 29 12:34:46 EST 2011


On Mon, Mar 28, 2011 at 05:19:35PM -0500, Peter Tyser wrote:
> fdt_get_property_namelen() should only compare 'namelen' characters when
> matching a property name.  The previous code compared 'namelen'
> characters correctly, but also required the property name length to
> exactly match 'namelen'.
> 
> This length matching requirement would result in bugs such as
> "ethernet0" not being found when using fdt_get_property_namelen() to
> find properties starting with "ethernet".

Nack.  The current behaviour of the *_namelen() functions is the
intended one.  Their purpose is not for doing partial matches, but
instead for doing exact matches, but using a non-null-terminated
string as the argument.  For example get_subnode_offset_namelen() is
used internally for comparing names against path components without
having to copy and null terminate the pieces of the path first.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson


More information about the devicetree-discuss mailing list