> + if (stringset == ETH_SS_STATS && ds->drv->get_strings) {
> + ndata = data + mcount * len;
> + /* This function copies ETH_GSTRINGS_LEN bytes, we will mangle
> + * the output after to prepend our CPU port prefix we
> + * constructed earlier
> + */
> + ds->drv->get_strings(ds, cpu_port, ndata);
> + count = ds->drv->get_sset_count(ds);
> + for (i = 0; i < count; i++) {
> + memmove(ndata + (i * len + sizeof(pfx)),
> + ndata + i * len, len - sizeof(pfx));
> + memcpy(ndata + i * len, pfx, sizeof(pfx));
Hi Florian
Did you check what happens if this causes the NULL terminator to be
discarded? Does ethtool handle that? As i said before, it is unclear
if one is required.
Andrew