Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754390AbbGPIbD (ORCPT ); Thu, 16 Jul 2015 04:31:03 -0400 Received: from 8bytes.org ([81.169.241.247]:33792 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752086AbbGPIay (ORCPT ); Thu, 16 Jul 2015 04:30:54 -0400 From: Joerg Roedel To: Will Deacon , Grant Likely , Rob Herring Cc: linux-arm-kernel@lists.infradead.org, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Joerg Roedel Subject: [PATCH 0/2 v2] Fix MAX_PHANDLE_ARGS limitations Date: Thu, 16 Jul 2015 10:30:42 +0200 Message-Id: <1437035444-13867-1-git-send-email-joro@8bytes.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1505 Lines: 51 From: Joerg Roedel Hi, here is the second version of my patches to fix the MAX_PHANDLE_ARGS limitation for the arm-smmu driver. On my AMD Seattle system the max value of 16 is not enough to initialize the SMMU, as the device tree node has an entry with 25 phandle args (possible are up to 128). The result is a WARNING and incorrect SMMU initialization. On the other side MAX_PHANDLE_ARGS can't grow indefinitly, as it causes 'struct of_phandle_args' to get bigger. This struct is often allocated on-stack and should be small by default. So these patches introduce a way to make 'struct of_phandle_args' bigger only when needed and change the ARM-SMMU driver to make use of it. The patches have been tested on my AMD Seattle system. Please review. Thanks, Joerg Changes to v1: * Rebased to v4.2-rc2 * Fixed leak in patch 2, as pointed out by Will Deacon Joerg Roedel (2): of: base: Allow more args than MAX_PHANDLE_ARGS if required arm/smmu: Make use of of_parse_phandle_with_var_args drivers/iommu/arm-smmu.c | 23 ++++++++++++++++------- drivers/of/base.c | 43 ++++++++++++++++++++++++++++++++++++------- include/linux/of.h | 7 +++++++ 3 files changed, 59 insertions(+), 14 deletions(-) -- 1.8.4.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/