reuse->socks[] is modified concurrently by reuseport_add_sock. To
prevent reading values that have not been fully initialized, only read
the array up until the last known safe index instead of incorrectly
re-reading the last index of the array.
Fixes: acdcecc61285f ("udp: correct reuseport selection with connected
sockets")
Signed-off-by: Baptiste Lepers <redacted>
---
net/core/sock_reuseport.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com> Date: 2021-01-07 05:28:28
On Thu, Jan 7, 2021 at 12:11 AM Baptiste Lepers
[off-list ref] wrote:
reuse->socks[] is modified concurrently by reuseport_add_sock. To
prevent reading values that have not been fully initialized, only read
the array up until the last known safe index instead of incorrectly
re-reading the last index of the array.
Fixes: acdcecc61285f ("udp: correct reuseport selection with connected
sockets")
Signed-off-by: Baptiste Lepers <redacted>
Acked-by: Willem de Bruijn <willemb@google.com>
Thanks. This also matches local variable socks as used to calculate i
and j with reciprocal_scale immediately above.
Please mark fixes [PATCH net] in the future.
From: Jakub Kicinski <kuba@kernel.org> Date: 2021-01-09 03:17:40
On Thu, 7 Jan 2021 00:27:07 -0500 Willem de Bruijn wrote:
On Thu, Jan 7, 2021 at 12:11 AM Baptiste Lepers
[off-list ref] wrote:
quoted
reuse->socks[] is modified concurrently by reuseport_add_sock. To
prevent reading values that have not been fully initialized, only read
the array up until the last known safe index instead of incorrectly
re-reading the last index of the array.
Fixes: acdcecc61285f ("udp: correct reuseport selection with connected
sockets")
Signed-off-by: Baptiste Lepers <redacted>
Acked-by: Willem de Bruijn <willemb@google.com>
Thanks. This also matches local variable socks as used to calculate i
and j with reciprocal_scale immediately above.
Please mark fixes [PATCH net] in the future.
And please don't wrap the fixes tags.
Applied, thanks!