lkml.org 
[lkml]   [2016]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v2 4/9] coresight: Fix csdev connections initialisation
On 13 June 2016 at 02:54, Suzuki K Poulose <Suzuki.Poulose@arm.com> wrote:
> On 12/06/16 21:39, Mathieu Poirier wrote:
>>
>> On 6 June 2016 at 03:11, Suzuki K Poulose <suzuki.poulose@arm.com> 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.

If it becomes an issue in the future we'll know what to do :o)

Thanks,
Mathieu

>
> Cheers
> Suzuki

\
 
 \ /
  Last update: 2016-06-13 17:21    [W:1.247 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site