Jason Baron
f19008e676
tcp: correct read of TFO keys on big endian systems
...
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 <jbaron@akamai.com >
Fixes: 438ac88009 ("net: fastopen: robustness and endianness fixes for SipHash")
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Cc: Eric Dumazet <edumazet@google.com >
Reported-and-tested-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2020-08-10 12:12:35 -07:00
..
2020-07-15 20:34:11 -07:00
2020-07-30 11:14:05 +02:00
2020-07-15 20:34:11 -07:00
2020-05-19 12:50:14 -07:00
2020-08-04 13:32:39 -07:00
2020-06-30 10:45:08 -07:00
2020-02-27 12:06:20 -08:00
2019-06-05 17:37:07 +02:00
2020-07-24 15:41:54 -07:00
2020-06-29 17:33:42 -07:00
2020-02-28 14:51:30 +01:00
2020-06-19 12:53:30 -07:00
2020-08-05 12:19:52 -07:00
2019-05-30 11:26:41 -07:00
2020-05-28 11:11:46 -07:00
2020-02-28 12:12:53 -08:00
2019-12-11 15:01:23 -08:00
2019-11-06 16:14:48 -08:00
2019-01-23 11:18:00 -08:00
2019-06-19 17:09:55 +02:00
2020-07-21 18:30:47 -07:00
2019-05-24 17:37:53 +02:00
2020-05-01 12:15:37 -07:00
2019-07-04 12:30:48 -07:00
2020-07-01 15:53:32 -07:00
2020-02-27 18:50:19 -08:00
2020-06-20 17:30:59 -07:00
2019-05-21 11:28:45 +02:00
2019-06-19 17:09:55 +02:00
2020-07-31 09:27:02 +02:00
2020-02-29 14:39:08 +01:00
2020-05-29 16:11:50 -04:00
2020-07-15 07:45:24 -07:00
2020-03-27 19:40:38 -07:00
2020-07-19 18:16:40 -07:00
2019-05-30 11:29:52 -07:00
2019-05-30 11:29:52 -07:00
2020-08-03 18:06:46 -07:00
2020-02-29 21:52:20 -08:00
2019-05-21 11:52:39 +02:00
2019-05-21 11:52:39 +02:00
2020-03-31 17:29:33 -07:00
2020-07-23 15:14:58 -07:00
2019-12-16 16:09:44 -08:00
2020-05-08 21:33:33 -07:00
2020-08-04 13:01:45 -07:00
2020-05-05 13:23:29 -07:00
2020-02-19 13:52:32 +01:00
2020-04-20 07:34:16 +02:00
2019-06-19 17:09:55 +02:00
2019-12-24 22:37:30 -08:00
2020-07-28 17:42:31 -07:00
2020-07-24 15:23:31 -07:00
2020-08-05 20:13:21 -07:00
2020-07-15 07:45:24 -07:00
2020-07-31 09:24:24 +02:00
2020-07-31 09:24:24 +02:00
2019-12-09 10:36:44 -08:00
2019-11-05 18:20:55 -08:00
2020-07-01 15:49:11 -07:00
2019-03-22 12:09:31 -07:00
2020-06-22 21:12:44 -07:00
2019-10-25 16:24:32 -07:00
2020-02-13 14:19:00 -08:00
2020-07-31 09:27:00 +02:00
2019-05-30 11:26:41 -07:00
2020-05-11 13:18:54 -07:00
2019-04-22 21:50:53 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-03-30 13:45:04 -07:00
2020-05-09 00:48:20 +02:00
2020-07-24 15:41:54 -07:00
2020-07-03 14:34:53 -07:00
2019-08-08 15:55:10 -07:00
2020-06-09 13:26:23 -07:00
2020-07-19 19:20:22 -07:00
2019-09-27 12:05:02 +02:00
2019-02-08 21:50:15 -08:00
2020-06-20 17:47:53 -07:00
2020-07-15 20:34:11 -07:00
2020-05-18 17:35:02 -07:00
2019-06-18 20:48:45 -04:00
2020-05-26 16:06:07 -07:00
2020-08-04 13:01:45 -07:00
2020-07-22 01:17:59 +02:00
2020-07-24 15:41:54 -07:00
2019-06-19 11:37:47 -04:00
2020-05-29 13:02:33 -07:00
2020-07-24 15:41:54 -07:00
2020-02-05 14:28:09 +01:00
2019-06-19 17:09:55 +02:00
2020-06-20 17:22:22 -07:00
2019-10-08 13:23:05 -07:00
2020-03-29 22:30:57 -07:00
2020-07-31 09:27:01 +02:00
2019-05-30 11:26:41 -07:00
2020-03-26 20:17:36 -07:00
2020-03-02 11:16:27 -08:00
2020-02-29 21:52:20 -08:00
2020-02-28 12:08:37 -08:00
2020-05-29 21:20:20 -07:00
2020-07-31 16:55:32 -07:00
2019-12-09 10:36:44 -08:00
2020-04-22 12:15:07 -07:00
2020-06-08 10:13:56 -04:00
2020-06-01 15:21:02 -07:00
2019-05-21 11:28:45 +02:00
2020-04-30 17:51:42 -07:00
2019-11-12 08:18:03 -08:00
2019-04-11 13:59:49 -07:00
2020-06-10 13:20:20 -07:00
2020-02-20 10:09:25 -08:00
2020-03-04 13:25:55 -08:00
2019-05-30 11:26:32 -07:00
2020-07-16 16:48:34 -07:00
2020-07-03 14:34:53 -07:00
2019-05-30 11:26:32 -07:00
2019-09-16 09:18:03 +02:00
2019-05-30 11:26:32 -07:00
2020-03-14 21:03:46 -07:00
2020-07-31 09:24:23 +02:00
2020-07-31 16:55:32 -07:00
2020-03-23 21:57:44 -07:00
2020-06-23 20:27:09 -07:00
2019-04-22 21:47:25 -07:00
2020-08-03 15:04:48 -07:00
2020-07-13 11:03:44 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-06-04 15:39:32 -07:00
2019-11-15 12:28:28 -08:00
2019-10-05 16:29:00 -07:00
2020-02-29 21:52:19 -08:00
2020-08-05 20:13:21 -07:00
2019-06-19 17:09:55 +02:00
2020-07-14 13:46:42 -07:00
2019-05-30 11:26:32 -07:00
2020-08-10 12:12:35 -07:00
2019-05-30 11:26:32 -07:00
2019-10-04 14:07:07 -07:00
2020-06-30 13:36:56 -07:00
2020-06-23 20:10:15 -07:00
2020-06-18 20:46:23 -07:00
2020-08-03 10:13:54 -07:00
2020-07-24 15:41:54 -07:00
2019-11-14 18:12:17 -08:00
2020-05-22 14:00:38 -07:00
2020-07-15 20:34:02 -07:00
2019-12-09 10:28:43 -08:00
2019-11-16 12:39:10 -08:00
2020-05-21 17:31:27 -07:00
2020-07-13 15:32:56 -07:00
2020-07-25 20:37:02 -07:00
2020-08-02 01:02:12 -07:00
2020-06-30 15:44:03 +02:00