Received: by 10.223.185.116 with SMTP id b49csp1928027wrg; Mon, 12 Feb 2018 00:59:31 -0800 (PST) X-Google-Smtp-Source: AH8x225uqUaE3/lnWO2isw5m4aV7/BVHs4qx35sVeubAV6/6Zb7TukIYE9ciJVCLBZazbs0lsvwp X-Received: by 10.101.76.2 with SMTP id u2mr8638769pgq.363.1518425971026; Mon, 12 Feb 2018 00:59:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518425970; cv=none; d=google.com; s=arc-20160816; b=cFHtrjULolViHvrbnY09ssFY6J5pp8UjmRlzabYcn327yUYJ38ezg6TOHrMzKBx9fV zui0K6cMgMbhwOiNghKBDEx6ZMXWlU/Ql7QS9E6Eljh7VBAnV7j351vVgbS5wc074UMI XzVI6nlG2D6jlRhtlYv0zRNuSWZqPZ9iISWB0rBdFWxtA+O6OHrVI47Bkyh8kF8ip7kM ReqFckhsBEu+ar6A+Abdzg+QbtoDEyz9tiLDbyI/9gZxVPkA66R/CYIQe0Xbsdbf8UR5 g+2mJQavd+ujyzfJUGHJFVJZf1G+uXRyLE/kWjEgcJNqgTOY3huLQyaqzhYPBR5txAuw bPug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=LeVaS5ntZukXdIBPot/r02HcQ4mx6vgNdHdZvSGkGsk=; b=XXdlz7KG/72mRqxl4mD12AwklDFwsq0yBeY+IIu4Sq7vamx3GOtPaMAYuKbziuqACl g4ecowOywU/U3Mf9m0uFL1xzh5PnYmX0CTowFZVSe26KRzWFisJz6Ap8bd51jXDSNQ9o AaV3rmb5A0bVNF+iblh3PKxV3+gLhKKakpYZYYGblfLwRs5BjsXoIBiINZIS1TzcII5M m1hrMSBC9lWDgMxYT7U5LqO+LUqqeVdIpGwwyKTlaXgrSMTz24ju++It6l/x4rZb74GW McwdkKFELVEOj6+W9LxNEQZ/Ks2D8qchs38GBVo4I1iG9IkdSkbNbeyH6pY4Wm85nFbN n90A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=eXQrMnf1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i77si6105184pfd.15.2018.02.12.00.59.17; Mon, 12 Feb 2018 00:59:30 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=eXQrMnf1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933037AbeBLIwS (ORCPT + 99 others); Mon, 12 Feb 2018 03:52:18 -0500 Received: from mail-pg0-f65.google.com ([74.125.83.65]:35202 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932967AbeBLIwQ (ORCPT ); Mon, 12 Feb 2018 03:52:16 -0500 Received: by mail-pg0-f65.google.com with SMTP id l131so1574943pga.2; Mon, 12 Feb 2018 00:52:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=LeVaS5ntZukXdIBPot/r02HcQ4mx6vgNdHdZvSGkGsk=; b=eXQrMnf1fOt4hp/pMmE/0aob+HB0QDHHGUxPDEOKuCbCaoJZAl4IOqCwFy+SgmY/PL 4ijYhQKiFwrxNKj+B8mJPnw10knYTOvhINUeuTCvKS5L+lberNRGCV7tcf5FgPwEgb0+ FqUSO0FpXb6z/8Cq7At3YXE/NAVbDmLSv7rMD2WL8TDc8Bc0zZ2Z2zTBBgjdCWMlT79w k6efUKC8GyuGoN3Bf9SOPyHqsNoHI7dCofE3EZDKrCkjDSIhBetlpd44UZI3+p03IZ/T Cf6Y6rOeJgQcnF9tZsIZXsxzejjh8tnamcldRsCNPf8Ji1enwUUyUmIKlKSFrlvSWiA5 4ksQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=LeVaS5ntZukXdIBPot/r02HcQ4mx6vgNdHdZvSGkGsk=; b=SzlsMXgYt1vj5Z0eKeM8rzGtF2MJBthFKLO6Ertfu1c9O4K/jhj20mTmbkvQLBAHfb LkTHLhugz3EUAxudpFYsdlM/1Os+tNTnGTlSySW5g0sDjv23HEdMefbAWOGd+rpNVycd 3HYsIt4clt2HPb9+r71GQYGuxZi2uYwdTdjcE6EJ6ofgUlzGpTn67jgf7vB98vl8LyUG ijce4uEwUMr+Pl0MRsPzmdkmXIdcrFLov6CHuIqCfjWn4t6lBjfEl0+r24F5kFff3O17 2p5q5FqdZky6E/WciXYLBAu3VXFxY7gT4xgG5d5244GSQH8ZFO/rvN5PIdiCPyvgp7aS NGZg== X-Gm-Message-State: APf1xPC7Eu5MlqdvG/tuAzsmZQnrAUV6O4TLXYf0BeaLy0YeCgdszQ2U vaIRe1QHLnKEPURR3NzkrXwawg== X-Received: by 10.99.96.18 with SMTP id u18mr7725704pgb.124.1518425536004; Mon, 12 Feb 2018 00:52:16 -0800 (PST) Received: from localhost.localdomain (c-73-93-215-6.hsd1.ca.comcast.net. [73.93.215.6]) by smtp.gmail.com with ESMTPSA id p9sm21249651pgs.35.2018.02.12.00.52.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 12 Feb 2018 00:52:15 -0800 (PST) From: frowand.list@gmail.com To: Rob Herring , pantelis.antoniou@konsulko.com, Pantelis Antoniou Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, geert@linux-m68k.org Subject: [PATCH v2 0/4] of: change overlay apply input data from unflattened Date: Mon, 12 Feb 2018 00:51:32 -0800 Message-Id: <1518425496-12159-1-git-send-email-frowand.list@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Frank Rowand Move duplicating and unflattening of an overlay flattened devicetree (FDT) into the overlay application code. To accomplish this, of_overlay_apply() is replaced by of_overlay_fdt_apply(). The copy of the FDT (aka "duplicate FDT") now belongs to devicetree code, which is thus responsible for freeing the duplicate FDT. The caller of of_overlay_fdt_apply() remains responsible for freeing the original FDT. The unflattened devicetree now belongs to devicetree code, which is thus responsible for freeing the unflattened devicetree. These ownership changes prevent early freeing of the duplicated FDT or the unflattened devicetree, which could result in use after free errors. These changes led to migrating some unittest overlay data into their own devicetree source files, and then converting most of them to use sugar syntax instead of hand coding fragments. Changes from v1: - rebase on v4.16-rc1 - update documentation - split out error message to a separate patch Frank Rowand (4): of: change overlay apply input data from unflattened to FDT of: Documentation: of_overlay_apply() replaced by of_overlay_fdt_apply() of: convert unittest overlay devicetree source to sugar syntax of: improve reporting invalid overlay target path Documentation/devicetree/overlay-notes.txt | 4 +- drivers/of/of_private.h | 1 + drivers/of/overlay.c | 124 +++++++++- drivers/of/resolver.c | 6 - drivers/of/unittest-data/Makefile | 28 ++- drivers/of/unittest-data/overlay.dts | 101 ++++---- drivers/of/unittest-data/overlay_0.dts | 14 ++ drivers/of/unittest-data/overlay_1.dts | 14 ++ drivers/of/unittest-data/overlay_10.dts | 27 +++ drivers/of/unittest-data/overlay_11.dts | 28 +++ drivers/of/unittest-data/overlay_12.dts | 14 ++ drivers/of/unittest-data/overlay_13.dts | 14 ++ drivers/of/unittest-data/overlay_15.dts | 30 +++ drivers/of/unittest-data/overlay_2.dts | 9 + drivers/of/unittest-data/overlay_3.dts | 9 + drivers/of/unittest-data/overlay_4.dts | 18 ++ drivers/of/unittest-data/overlay_5.dts | 9 + drivers/of/unittest-data/overlay_6.dts | 10 + drivers/of/unittest-data/overlay_7.dts | 10 + drivers/of/unittest-data/overlay_8.dts | 10 + drivers/of/unittest-data/overlay_9.dts | 10 + drivers/of/unittest-data/overlay_bad_phandle.dts | 23 +- drivers/of/unittest-data/overlay_bad_symbol.dts | 25 +- drivers/of/unittest-data/tests-overlay.dtsi | 217 +---------------- drivers/of/unittest.c | 294 +++++++++++------------ include/linux/of.h | 7 - 26 files changed, 571 insertions(+), 485 deletions(-) create mode 100644 drivers/of/unittest-data/overlay_0.dts create mode 100644 drivers/of/unittest-data/overlay_1.dts create mode 100644 drivers/of/unittest-data/overlay_10.dts create mode 100644 drivers/of/unittest-data/overlay_11.dts create mode 100644 drivers/of/unittest-data/overlay_12.dts create mode 100644 drivers/of/unittest-data/overlay_13.dts create mode 100644 drivers/of/unittest-data/overlay_15.dts create mode 100644 drivers/of/unittest-data/overlay_2.dts create mode 100644 drivers/of/unittest-data/overlay_3.dts create mode 100644 drivers/of/unittest-data/overlay_4.dts create mode 100644 drivers/of/unittest-data/overlay_5.dts create mode 100644 drivers/of/unittest-data/overlay_6.dts create mode 100644 drivers/of/unittest-data/overlay_7.dts create mode 100644 drivers/of/unittest-data/overlay_8.dts create mode 100644 drivers/of/unittest-data/overlay_9.dts -- Frank Rowand