mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 01:51:34 +00:00
419ce133ab
As reported by Tom, .NET and applications build on top of it rely
on connect(AF_UNSPEC) to async cancel pending I/O operations on TCP
socket.
The blamed commit below caused a regression, as such cancellation
can now fail.
As suggested by Eric, this change addresses the problem explicitly
causing blocking I/O operation to terminate immediately (with an error)
when a concurrent disconnect() is executed.
Instead of tracking the number of threads blocked on a given socket,
track the number of disconnect() issued on such socket. If such counter
changes after a blocking operation releasing and re-acquiring the socket
lock, error out the current operation.
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
tls_device_fallback.c | ||
tls_device.c | ||
tls_main.c | ||
tls_proc.c | ||
tls_strp.c | ||
tls_sw.c | ||
tls_toe.c | ||
tls.h | ||
trace.c | ||
trace.h |