From: Jason Baron <jba...@akamai.com> Date: Mon, 10 Aug 2020 13:38:39 -0400
> When TFO keys are read back on big endian systems either via the global > sysctl interface or via getsockopt() using TCP_FASTOPEN_KEY, the values > don't match what was written. > > For example, on s390x: > > # echo "1-2-3-4" > /proc/sys/net/ipv4/tcp_fastopen_key > # cat /proc/sys/net/ipv4/tcp_fastopen_key > 02000000-01000000-04000000-03000000 > > Instead of: > > # cat /proc/sys/net/ipv4/tcp_fastopen_key > 00000001-00000002-00000003-00000004 > > Fix this by converting to the correct endianness on read. This was > reported by Colin Ian King when running the 'tcp_fastopen_backup_key' net > selftest on s390x, which depends on the read value matching what was > written. I've confirmed that the test now passes on big and little endian > systems. > > Signed-off-by: Jason Baron <jba...@akamai.com> > Fixes: 438ac88009bc ("net: fastopen: robustness and endianness fixes for > SipHash") > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > Cc: Eric Dumazet <eduma...@google.com> > Reported-and-tested-by: Colin Ian King <colin.k...@canonical.com> Applied, thanks Jason.