net: dccp: Use memset_startat() for TP zeroing

In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memset(), avoid intentionally writing across
neighboring fields.

Use memset_startat() so memset() doesn't get confused about writing
beyond the destination member that is intended to be the starting point
of zeroing through the end of the struct.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Kees Cook 2021-11-18 12:30:19 -08:00 коммит произвёл David S. Miller
Родитель 92e888bc6f
Коммит f5455a1d9d
1 изменённых файлов: 1 добавлений и 3 удалений

Просмотреть файл

@ -60,9 +60,7 @@ TRACE_EVENT(dccp_probe,
__entry->tx_t_ipi = hc->tx_t_ipi;
} else {
__entry->tx_s = 0;
memset(&__entry->tx_rtt, 0, (void *)&__entry->tx_t_ipi -
(void *)&__entry->tx_rtt +
sizeof(__entry->tx_t_ipi));
memset_startat(__entry, 0, tx_rtt);
}
),