From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161221AbcFMIyi (ORCPT ); Mon, 13 Jun 2016 04:54:38 -0400 Received: from foss.arm.com ([217.140.101.70]:49760 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161043AbcFMIyg (ORCPT ); Mon, 13 Jun 2016 04:54:36 -0400 Subject: Re: [PATCH v2 4/9] coresight: Fix csdev connections initialisation To: Mathieu Poirier References: <1465204301-24184-1-git-send-email-suzuki.poulose@arm.com> <1465204301-24184-5-git-send-email-suzuki.poulose@arm.com> Cc: "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" From: Suzuki K Poulose Message-ID: <575E74C9.9010004@arm.com> Date: Mon, 13 Jun 2016 09:54:33 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/06/16 21:39, Mathieu Poirier wrote: > On 6 June 2016 at 03:11, Suzuki K Poulose wrote: >> This is a cleanup patch. >> >> coresight_device->conns holds an array to point to the devices >> connected to the OUT ports of a component. Sinks, e.g ETR, do not >> have an OUT port (nr_outport = 0), as it streams the trace to >> memory via AXI. >> >> At coresight_register() we do : >> >> conns = kcalloc(csdev->nr_outport, sizeof(*conns), GFP_KERNEL); >> if (!conns) { >> ret = -ENOMEM; >> goto err_kzalloc_conns; >> } >> >> For ETR, since the total size requested for kcalloc is zero, the return >> value is, ZERO_SIZE_PTR ( != NULL). Hence, csdev->conns = ZERO_SIZE_PTR >> which cannot be verified later to contain a valid pointer. The code which >> accesses the csdev->conns is bounded by the csdev->nr_outport check, >> hence we don't try to dereference the ZERO_SIZE_PTR. This patch cleans >> up the csdev->conns and csdev->refcnt, initialisation to make sure we > > This patch no longer deals with csdev->refcnt. Ok, fill fix that. Btw, do we need that check ? I am tempted to keep it there, just to make sure we don't end up in something similar in the future. Cheers Suzuki