On Mon, Aug 27, 2018 at 3:22 AM Johan Hovold <johan@xxxxxxxxxx> wrote: > > Add of_get_compatible_child() helper that can be used to lookup > compatible child nodes. > > Several drivers currently use of_find_compatible_node() to lookup child > nodes while failing to notice that the of_find_ functions search the > entire tree depth-first (from a given start node) and therefore can > match unrelated nodes. The fact that these functions also drop a > reference to the node they start searching from (e.g. the parent node) > is typically also overlooked, something which can lead to use-after-free > bugs. > > Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> > --- > drivers/of/base.c | 25 +++++++++++++++++++++++++ > include/linux/of.h | 8 ++++++++ > 2 files changed, 33 insertions(+) I've applied this one and plan to send to Linus tomorrow. Rob