12/09/2025 10:47, Kerem Aksu: > dumpcap crashes when trying to capture from af_packet devices. This is > caused by allocating interface name with > strdup (i.e. malloc). Interface name is not accessible from secondary > process and causes segmentation fault. Use rte_malloc instead of > strdup to fix the issue.
I agree with the analysis, thank you. [...] > - (*internals)->if_name = strdup(pair->value); > + (*internals)->if_name = rte_zmalloc_socket(name, ifnamelen + 1, > + 0, > numa_node); Probably no need to go on the next line, you are allowed to go to 100 characters per line. If a second line is needed, only 2 tabs are required. Why zmalloc? Probably no need to zero it. > if ((*internals)->if_name == NULL) > goto free_internals; > + memcpy((*internals)->if_name, pair->value, ifnamelen); > + (*internals)->if_name[ifnamelen] = '\0'; We can use a string-specialized function, like strlcpy.

