lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20250510015652.9931-5-kuniyu@amazon.com> Date: Fri, 9 May 2025 18:56:27 -0700 From: Kuniyuki Iwashima <kuniyu@...zon.com> To: "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Willem de Bruijn <willemb@...gle.com> CC: Simon Horman <horms@...nel.org>, Christian Brauner <brauner@...nel.org>, Kuniyuki Iwashima <kuniyu@...zon.com>, Kuniyuki Iwashima <kuni1840@...il.com>, <netdev@...r.kernel.org> Subject: [PATCH v2 net-next 4/9] tcp: Restrict SO_TXREHASH to TCP socket. sk->sk_txrehash is only used for TCP. Let's restrict SO_TXREHASH to TCP to reflect this. Later, we will make sk_txrehash a part of the union for other protocol families, so we set 0 explicitly in getsockopt(). Signed-off-by: Kuniyuki Iwashima <kuniyu@...zon.com> --- net/core/sock.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/net/core/sock.c b/net/core/sock.c index b64df2463300..5c84a608ddd7 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1276,6 +1276,8 @@ int sk_setsockopt(struct sock *sk, int level, int optname, return 0; } case SO_TXREHASH: + if (!sk_is_tcp(sk)) + return -EOPNOTSUPP; if (val < -1 || val > 1) return -EINVAL; if ((u8)val == SOCK_TXREHASH_DEFAULT) @@ -2102,8 +2104,11 @@ int sk_getsockopt(struct sock *sk, int level, int optname, break; case SO_TXREHASH: - /* Paired with WRITE_ONCE() in sk_setsockopt() */ - v.val = READ_ONCE(sk->sk_txrehash); + if (sk_is_tcp(sk)) + /* Paired with WRITE_ONCE() in sk_setsockopt() */ + v.val = READ_ONCE(sk->sk_txrehash); + else + v.val = 0; break; default: -- 2.49.0
Powered by blists - more mailing lists