On 10.05.2017 20:13, Savolainen, Petri (Nokia - FI/Espoo) wrote:
> 
> 
>> -----Original Message-----
>> From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of
>> Dmitry Eremin-Solenikov
>> Sent: Wednesday, May 10, 2017 8:00 PM
>> To: lng-odp-forward <lng-odp@lists.linaro.org>
>> Subject: [lng-odp] odp_packet_free_multi with invalid packets
>>
>> Hello,
>>
>> I was looking onto a shortcut code to free packets results from IPsec
>> call. Initially I wanted to just call odp_packet_free_multi() on top of
>> that array. However I noticed that the function segfaults if called with
>> an array containing ODP_PACKET_INVALID. Is it correct to call
>> odp_packet_free_multi() on top of such arrays, or I'd better handcode
>> such function checking and freeing packets one by one.
> 
> By default, results are undefined (may crash) if you pass bad handle (such as 
> XXX_INVALID) to any ODP API. That's for performance, so that implementation 
> does not validate always all handles from application.

Yes, I remember. Basically, I wonder if odp_packet_free_multi warrants a
lift of this rule or not, because freeing an array of packets, some of
which might be invalid might be a useful application optimizations.
Maybe we can define additional API like odp_packet_free_multi_safe() ?

-- 
With best wishes
Dmitry

Reply via email to