В ядре Linux 7.2 наконец-то избавились от функции strncpy. Она копировала до указанного числа байт, но годы была «постоянным источником багов» из-за запутанного поведения с NUL-терминацией и лишней обнуляющей записи в буфер. Ещё и работала медленно. На её зачистку ушло шесть лет и примерно 362 коммита. В пятницу последний мерж устранил сам API и все оставшиеся per-CPU реализации strncpy внутри ядра.
Вместо strncpy разработчикам теперь надо использовать: strscpy() для обычных строк, strscpy_pad() для строк с паддингом нулями, strtomem_pad() для полей фиксированной длины без терминатора, memcpy_and_pad() для копий с явным выравниванием, или memcpy() когда длина известна точно. Все они семантически чище и безопаснее. С ядра Linux 7.2 код больше не сможет случайно вызвать старую проблемную функцию.