Go to file
Sunil Muthuswamy a9eeb998c2 hv_sock: Add support for delayed close
Currently, hvsock does not implement any delayed or background close
logic. Whenever the hvsock socket is closed, a FIN is sent to the peer, and
the last reference to the socket is dropped, which leads to a call to
.destruct where the socket can hang indefinitely waiting for the peer to
close it's side. The can cause the user application to hang in the close()
call.

This change implements proper STREAM(TCP) closing handshake mechanism by
sending the FIN to the peer and the waiting for the peer's FIN to arrive
for a given timeout. On timeout, it will try to terminate the connection
(i.e. a RST). This is in-line with other socket providers such as virtio.

This change does not address the hang in the vmbus_hvsock_device_unregister
where it waits indefinitely for the host to rescind the channel. That
should be taken up as a separate fix.

Signed-off-by: Sunil Muthuswamy <sunilmut@microsoft.com>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-05-16 12:10:05 -07:00
Documentation Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2019-05-15 18:28:44 -07:00
LICENSES
arch Merge branch 'parisc-5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2019-05-14 13:17:19 -07:00
block
certs
crypto
drivers atm: iphase: Avoid copying pointers to user space. 2019-05-16 12:08:28 -07:00
fs Merge branch 'akpm' (patches from Andrew) 2019-05-14 10:10:55 -07:00
include flow_offload: support CVLAN match 2019-05-16 12:02:42 -07:00
init init: free_initmem: poison freed init memory 2019-05-14 09:47:47 -07:00
ipc
kernel Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2019-05-15 18:28:44 -07:00
lib rhashtable: Fix cmpxchg RCU warnings 2019-05-16 09:45:20 -07:00
mm Merge branch 'akpm' (patches from Andrew) 2019-05-14 10:10:55 -07:00
net hv_sock: Add support for delayed close 2019-05-16 12:10:05 -07:00
samples Add gitignore file for samples/vfs/ generated files 2019-05-14 13:30:10 -07:00
scripts gcc-plugin fix: 2019-05-13 16:01:52 -07:00
security Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-13 15:15:00 -07:00
sound
tools Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2019-05-15 18:28:44 -07:00
usr
virt mm/mmu_notifier: convert user range->blockable to helper function 2019-05-14 09:47:49 -07:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS NFC: Orphan the subsystem 2019-05-14 15:31:47 -07:00
Makefile
README

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.