diff options
author | Andrey V. Elsukov <ae@FreeBSD.org> | 2021-02-11 08:38:41 +0000 |
---|---|---|
committer | Andrey V. Elsukov <ae@FreeBSD.org> | 2021-02-11 09:00:25 +0000 |
commit | 3c782d9c91666886d868426f0aea040d1a1a8ee4 (patch) | |
tree | 468fe57676862a1e3bae889a26190781b94666ef /sys/powerpc | |
parent | dba7b0ef928af88caa38728a73657b837aeeac93 (diff) | |
download | src-3c782d9c91666886d868426f0aea040d1a1a8ee4.tar.gz src-3c782d9c91666886d868426f0aea040d1a1a8ee4.zip |
[udp6] fix possible panic due to lack of locking.
The lookup for a IPv6 multicast addresses corresponding to
the destination address in the datagram is protected by the
NET_EPOCH section. Access to each PCB is protected by INP_RLOCK
during comparing. But access to socket's so_options field is
not protected. And in some cases it is possible, that PCB
pointer is still valid, but inp_socket is not. The patch wides
lock holding to protect access to inp_socket. It copies locking
strategy from IPv4 UDP handling.
PR: 232192
Obtained from: Yandex LLC
MFC after: 3 days
Sponsored by: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D28232
Diffstat (limited to 'sys/powerpc')
0 files changed, 0 insertions, 0 deletions