Received: by 10.223.176.5 with SMTP id f5csp2370145wra; Sun, 28 Jan 2018 19:05:32 -0800 (PST) X-Google-Smtp-Source: AH8x226KlVTeTZSypRMe9y87rwV6hgPVEFenAlq6oaB1bbX3cnId46snrjc0Upe4Jye8CfVwhXZ1 X-Received: by 10.99.126.86 with SMTP id o22mr20697410pgn.364.1517195132748; Sun, 28 Jan 2018 19:05:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517195132; cv=none; d=google.com; s=arc-20160816; b=QL+4UKt2FgurhYDQH2te/YNXeVTJg3M28poKNMrpgQplY/d+Wpf1pq/hpWPYyGJk04 jPf0HXbRPiljpI9+ufP0JPenVzt5lhVj3xqH5pX/UWkuWq9Dq3TCbYLKKGYNrSgfF/In eDCBdKwU811sCiY/7fNWXXUUABjjkb6svtKVsBr06eu7KJffGaCyEzzIJea7pY+DDMKY GI6udyjscIutxgHbgrBeb7JxTNHalMvWockb6rG31q/r7UN3Yhe11ETNX7zHnKvqH25H VsbG6f4rNMmp7Z5BDR8xe3/W4+z+aW1HP0oqFBTAIuiCG2CzUpwFW85mpIZMuzClmgaY eMIA== 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=H/t1eCdQszlNyDtZmnXNhp5GgYXX/SyaQeslXGalbss=; b=0JkQKktdUG51C6dT/UQP8jDK0WlzUZ7UYPCUJ2yqSV7pruL0fqRszNueJNXqNb9wxC a6SViGVu5f7L6qGQpXB2M+Z2v8v0ywyWAkevO9v7iWIGCW0wMh3rKsQORbyefOb7Tibz DDRGjdtXk+3NCrSogdvEa6YZnmW8cQeho/MZ9957B+1JQhkjaoU4zK0M7MaF+/MJ/Nrk redp2h/slzt33zG+JufrjtI8HaI47dbtPGF/N+x37C3+RHAExjpAjSFkIGFPUCPVWZjE T7jRGpBkzwzgt+rmq++SGwLQRkX5E6QCMsz+j6liviZmsf0RqQqKfXMEc8o075GQ9olG TaSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=KYwOo55Y; 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=NONE 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 p2-v6si3766722pll.733.2018.01.28.19.05.18; Sun, 28 Jan 2018 19:05:32 -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=KYwOo55Y; 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=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751429AbeA2CyX (ORCPT + 99 others); Sun, 28 Jan 2018 21:54:23 -0500 Received: from mail-pg0-f67.google.com ([74.125.83.67]:45271 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751032AbeA2CyU (ORCPT ); Sun, 28 Jan 2018 21:54:20 -0500 Received: by mail-pg0-f67.google.com with SMTP id m136so3305309pga.12; Sun, 28 Jan 2018 18:54:20 -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=H/t1eCdQszlNyDtZmnXNhp5GgYXX/SyaQeslXGalbss=; b=KYwOo55Y/Q2wJvdZJcuwELn4T4Ho5ZjdLTmIqsWxN/FHmuJn1SAepth9Q/L+rnBElQ PFSqWGFhXWWwGz2Vo/1j4Yc3CtJrjn6vtfvgZMThNe7/Zb2U61Q+TVpBtewkFxQ6gX+B eR/7/t8zWctL9Uy+EeWM2GbcgFY60bq3tzR1TzSwApCfcWNtCl2f5C8pEwhxaQ5DI2l2 DzKMEFUwmRnIb+aUL4XThIeYlM/o8K38enOo9GF1if0E1jhWW1V1CkreDtDdnCnVjSrs G25NU6muP/aWHdhPmvPvAjgUmd7ZrCOMwm3UxxizhB0iYVhc2ZnBdNYHJUskUHCfU3lx xldQ== 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=H/t1eCdQszlNyDtZmnXNhp5GgYXX/SyaQeslXGalbss=; b=Qyd82YgM7/fWICyKcpafsVA9DSO9p1DCnxrPgJQXP10LuudsOtskFDEZ7hJCRVRtIB sW0LJDdHAWN4TwAyz4YYEzOYNNn0aoU7L+Bvff0wFLZQmwS8PTTp4oT/GrYsxCYSdQvN IUdubUgUfTI+v9yOXx9x/P/AlgmK9AEuuRaymacynK1SaepW2p6YeRInQQ6+L+C2R/3D eytq+STzVlhTaGPV/niFsRVHSzW/hD/5RK02vIQDMh3+6/lnErYvGxiIljLX2UscV4je /d/zsjG8MryaGvYS5n5NAixzoYYtQLc4pax7dKhzYrj65/0KHrDpbwtwTJHdTllo+dnO EoYA== X-Gm-Message-State: AKwxytem+N+rMuz34nQxPOA9KBOzaUbSq50Z935HFza6QfzLGm8Eozwh US0r1/MGLAGGIVUx1R10W9s= X-Received: by 2002:a17:902:14cb:: with SMTP id y11-v6mr640737plg.294.1517194460242; Sun, 28 Jan 2018 18:54:20 -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 c1sm22267376pfa.119.2018.01.28.18.54.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 28 Jan 2018 18:54:19 -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 0/2] of: change overlay apply input data from EDT to FDT Date: Sun, 28 Jan 2018 18:53:32 -0800 Message-Id: <1517194414-19932-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 device tree (aka expanded device tree, EDT) now belongs to devicetree code, which is thus responsible for freeing the EDT. These ownership changes prevent early freeing of the duplicated FDT or the EDT, 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. Frank Rowand (2): of: change overlay apply input data from EDT to FDT of: convert unittest overlay devicetree source to sugar syntax drivers/of/of_private.h | 1 + drivers/of/overlay.c | 124 +++++++++- drivers/of/resolver.c | 6 - drivers/of/unittest-data/Makefile | 16 ++ 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 | 27 +-- drivers/of/unittest-data/tests-overlay.dtsi | 217 +---------------- drivers/of/unittest.c | 296 +++++++++++------------ include/linux/of.h | 7 - 25 files changed, 564 insertions(+), 480 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