[riot-notifications] [RIOT-OS/RIOT] gnrc: packet space in gnrc packet buffer is not released on very heavy load (#10701)

Martine Lenders notifications at github.com
Tue Jan 15 18:24:37 CET 2019

This is really weird... I clearly see received ICMPv6 echo requests on the pinged node remain in the packet buffer, but they have some "holes" at the end which are always 96 bytes (and sometimes in the middle). Sometimes there are also 96 unset bytes at the end (i.e. remain 0x00 and not the ID of the request how it should be). I verified by using the following patch

diff --git a/sys/net/gnrc/pktbuf_static/gnrc_pktbuf_static.c b/sys/net/gnrc/pktbuf_static/gnrc_pktbuf_static.c
index eba560a..9d2c27e 100644
--- a/sys/net/gnrc/pktbuf_static/gnrc_pktbuf_static.c
+++ b/sys/net/gnrc/pktbuf_static/gnrc_pktbuf_static.c
@@ -461,6 +461,7 @@ static void _pktbuf_free(void *data, size_t size)
         prev = ptr;
         ptr = ptr->next;
+    memset(data, 0x88, size);
     new->next = ptr;
     new->size = _align(size);
     /* calculate number of bytes between new _unused_t chunk and end of packet

to mark freed regions. This might hint to some race-condition within the packet buffer... :-/

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190115/5ad5cdac/attachment.html>

More information about the notifications mailing list