linux/drivers/of
Grant Likely 96db973853 of: Fix overflow bug in string property parsing functions
commit a87fa1d81a upstream.

The string property read helpers will run off the end of the buffer if
it is handed a malformed string property. Rework the parsers to make
sure that doesn't happen. At the same time add new test cases to make
sure the functions behave themselves.

The original implementations of of_property_read_string_index() and
of_property_count_strings() both open-coded the same block of parsing
code, each with it's own subtly different bugs. The fix here merges
functions into a single helper and makes the original functions static
inline wrappers around the helper.

One non-bugfix aspect of this patch is the addition of a new wrapper,
of_property_read_string_array(). The new wrapper is needed by the
device_properties feature that Rafael is working on and planning to
merge for v3.19. The implementation is identical both with and without
the new static inline wrapper, so it just got left in to reduce the
churn on the header file.

Signed-off-by: Grant Likely <grant.likely@linaro.org>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Darren Hart <darren.hart@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-14 08:48:01 -08:00
..
address.c of: fix PCI bus match for PCIe slots 2014-02-22 12:41:27 -08:00
base.c of: Fix overflow bug in string property parsing functions 2014-11-14 08:48:01 -08:00
device.c of: Output devicetree alias names in uevent 2013-02-06 11:06:35 +00:00
fdt.c of: fdt: fix memory initialization for expanded DT 2013-08-29 09:47:37 -07:00
irq.c of/irq: sparse fixes 2012-10-17 15:53:02 -05:00
Kconfig of_i2c: sparc: Allow OF_I2C for sparc 2012-12-07 09:17:55 -08:00
Makefile GPIO driver changes for v3.5 merge window 2012-05-24 14:01:46 -07:00
of_i2c.c of_i2c: Honour "status=disabled" property of device 2012-11-29 17:28:08 +00:00
of_mdio.c net: of_mdio: fix behavior on missing phy device 2013-05-08 13:13:29 -07:00
of_mtd.c of: mtd: nuke useless const qualifier 2012-07-10 10:32:06 -05:00
of_net.c drivers/of: include export.h for EXPORT_SYMBOL_GPL/THIS_MODULE as required 2011-10-31 19:31:56 -04:00
of_pci_irq.c OF: PCI: const usage needed by MIPS 2012-05-21 14:31:48 +01:00
of_pci.c of: of_pci.c needs export.h since it uses EXPORT_SYMBOLS 2011-10-31 19:31:14 -04:00
of_private.h of: Output devicetree alias names in uevent 2013-02-06 11:06:35 +00:00
pdt.c Fix build when CONFIG_W1_MASTER_GPIO=m b exporting "allnodes" 2012-11-30 10:04:06 +00:00
platform.c Revert "of: use platform_device_add" 2013-02-17 20:03:27 +00:00
selftest.c of: Fix overflow bug in string property parsing functions 2014-11-14 08:48:01 -08:00