On 9/23/26 10:32, Aneesh Kumar K.V wrote:
> Catalin Marinas <[email protected]> writes:
> 
>> On Mon, Sep 21, 2026 at 08:18:46PM +0530, Aneesh Kumar K.V (Arm) wrote:
>>> @@ -405,6 +396,7 @@ static struct dma_buf *system_heap_allocate(struct 
>>> dma_heap *heap,
>>>  {
>>>     struct system_heap_buffer *buffer;
>>>     DEFINE_DMA_BUF_EXPORT_INFO(exp_info);
>>> +   struct cc_shared_layout layout;
>>>     unsigned long size_remaining = len;
>>>     unsigned long sg_remaining = len;
>>>     unsigned int max_order = orders[0];
>>> @@ -417,6 +409,14 @@ static struct dma_buf *system_heap_allocate(struct 
>>> dma_heap *heap,
>>>     struct page *page, *tmp_page;
>>>     int i, ret = -ENOMEM;
>>>  
>>> +   if (cc_shared) {
>>> +           ret = cc_shared_calc_layout(len, &layout);
>>
>> You should not override 'ret' here, it was set to -ENOMEM for a reason.
>> cc_shared_calc_layout() succeeds resetting 'ret' and some further down
>> allocation failure, goto free will return ERR_PTR(0).
> 
> 
> Agreed. I’ll fix this in the next revision.

Please CC me on that as well, I will try to find time to take a look.

Regards,
Christian.

> 
> -aneesh

Reply via email to