Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934266AbbEMMbj (ORCPT ); Wed, 13 May 2015 08:31:39 -0400 Received: from mail-lb0-f175.google.com ([209.85.217.175]:34102 "EHLO mail-lb0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933650AbbEMMbe (ORCPT ); Wed, 13 May 2015 08:31:34 -0400 MIME-Version: 1.0 In-Reply-To: <1429797494-29242-1-git-send-email-ricardo.ribalda@gmail.com> References: <1429797494-29242-1-git-send-email-ricardo.ribalda@gmail.com> From: Ricardo Ribalda Delgado Date: Wed, 13 May 2015 14:31:12 +0200 Message-ID: Subject: Re: [PATCH v4 0/4] Fix null pointer deference when calling of_platform_depopulate To: Greg Kroah-Hartman , Grant Likely , Rob Herring , Andrew Morton , Jakub Sitnicki , Vivek Goyal , Bjorn Helgaas , Jiang Liu , Mike Travis , Thierry Reding , LKML , "devicetree@vger.kernel.org" Cc: Ricardo Ribalda Delgado Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2729 Lines: 85 Ping? On Thu, Apr 23, 2015 at 3:58 PM, Ricardo Ribalda Delgado wrote: > of_platform_depopulate can lead to a kernel error when calling release_resource() > > The reason is that it is trying to release a resource that was not allocated > via insert_resource() > > of_platform_depopulate() > of_platform_device_destroy() > platform_device_unregister(platform_device *pdev) > platform_device_del(platform_device *pdev) > for (i = 0; i < pdev->num_resources; i++) > release_resource() > > of_platform_populate() > ... > of_device_alloc() > pdev = platform_device_alloc() > # set pdev->resource, similar to platform_device_add_resources() > of_device_add(platform_device *pdev) > # similar to platform_device_add(), but note there's no > # insert_resource() in this path > device_add(&pdev->dev) > > On this patchset: > > base/platform has been fixed for an hypothetical condition where parent is > set but the platform is neither MEM or IO. > > Then platform_device_alloc has been modified so it supports of and amba > devices. > > Finally of_device_add has been modified to use platform_device_add(). > > v1: https://lkml.org/lkml/2015/4/20/435 > > v2: From: Bjorn Helgaas > -Fix caller, not callee > > https://lkml.org/lkml/2015/4/21/99 > https://lkml.org/lkml/2015/4/21/100 > > v3: From: Rob Herring > - Modify plaform_device_alloc to support of and ambda devices > > https://lkml.org/lkml/2015/4/22/369 > https://lkml.org/lkml/2015/4/22/370 > https://lkml.org/lkml/2015/4/22/371 > https://lkml.org/lkml/2015/4/22/374 > https://lkml.org/lkml/2015/4/22/373 > > v4: From: Bjorn Helgaas > -Remove WARN() patch > -Show conflicting resources > -Code Style > -Fix descriptions > > From: Rob Herring > -Fix descriptions > > Ricardo Ribalda Delgado (4): > base/platform: Only insert MEM and IO resources > base/platform: Continue on insert_resource() error > of/platform: Use platform_device interface > base/platform: Remove code duplication > > drivers/base/platform.c | 84 ++++++++++++++++++++++++------------------------- > drivers/of/platform.c | 3 +- > 2 files changed, 43 insertions(+), 44 deletions(-) > > -- > 2.1.4 > -- Ricardo Ribalda -- 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/