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.


Reply via email to