[PATCH mptcp-next v12 01/12] selftests: mptcp: sockopt: reseed RNG after fork
Geliang Tang <[email protected]> Sat, 25 Jul 2026 20:42:22 +0800
| Newsgroups | dev.linux.lists.mptcp |
|---|---|
| Message-ID | <7122f016943603cb24c2306e4f436373b86c2299.1784981974.git.tanggeliang@kylinos.cn> |
From: Geliang Tang <[email protected]> xfork() does not reseed the RNG in the child, so server and client processes use the same rand() sequence. Restore the per-fork reseed from mptcp_inq.c by calling init_rng() in the child, ensuring independent random values for buffer contents and transfer sizes. These codes are from mptcp_inq.c. Signed-off-by: Geliang Tang <[email protected]> --- tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c index b6e58d936ebe..05afe8dd1381 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c @@ -128,6 +128,8 @@ struct so_state { #define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif +static void init_rng(void); + static void __noreturn die_perror(const char *msg) { perror(msg); @@ -799,6 +801,8 @@ static pid_t xfork(void) if (p < 0) die_perror("fork"); + else if (p == 0) + init_rng(); return p; } -- 2.53.0