[PATCH mptcp-next v11 01/11] selftests: mptcp: sockopt: reseed RNG after fork
Geliang Tang <[email protected]> Wed, 15 Jul 2026 10:48:47 +0800
| Newsgroups | dev.linux.lists.mptcp |
|---|---|
| Message-ID | <bc062348d67cf2646bd09b6ed0a2b29fd8d43689.1784082850.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