> -----Original Message----- > From: [email protected] [mailto:lng-odp- > [email protected]] On Behalf Of ext Ola Liljedahl > Sent: Tuesday, February 03, 2015 6:48 PM > To: [email protected] > Subject: [lng-odp] [PATCHv5 05/18] api: odp_buffer.h: undefined behavior > description > > Documented API calls which are guaranteed to handle invalid/stale handles. > > Signed-off-by: Ola Liljedahl <[email protected]> > --- > (This document/code contribution attached is provided under the terms of > agreement LES-LTM-21309) > > include/odp/api/buffer.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/include/odp/api/buffer.h b/include/odp/api/buffer.h > index 12b2f5a..1eb2e5a 100644 > --- a/include/odp/api/buffer.h > +++ b/include/odp/api/buffer.h > @@ -88,7 +88,9 @@ uint32_t odp_buffer_size(odp_buffer_t buf); > /** > * Tests if buffer is valid > * > - * @param buf Buffer handle > + * @param buf Buffer handle (possibly invalid) > + * @note This is the only buffer API function which accepts invalid > buffer > + * handles (any bit value) without causing undefined behavior. > * > * @retval 1 Buffer handle represents a valid buffer. > * @retval 0 Buffer handle does not represent a valid buffer. > --
Originally, this and odp_packet_is_valid() were defined to enable full sanity check over the object. During debugging user could insert these on the way and (hopefully) catch the point where e.g. packet metadata (e.g. segment linking) was corrupted. So, I think this function could still crash on bad handles. Is there a use case that application would just want to check the handle validity (without crashing), but not the object sanity? -Petri _______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
