mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-11-01 12:27:54 +00:00
Added a new patch to the 4.11 and 4.9 kernels based on a patch submitted to stable: https://patchwork.kernel.org/patch/9829039/ This patch fixes a off-by-one error in the VMBus code. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
60 lines
2.0 KiB
Diff
60 lines
2.0 KiB
Diff
From 6882f1a32034f3c02fdff2d99c9bbcc554068c8f Mon Sep 17 00:00:00 2001
|
|
From: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Date: Thu, 28 Jul 2016 15:36:30 +0100
|
|
Subject: [PATCH 05/44] VSOCK: transport-specific vsock_transport functions
|
|
|
|
struct vsock_transport contains function pointers called by AF_VSOCK
|
|
core code. The transport may want its own transport-specific function
|
|
pointers and they can be added after struct vsock_transport.
|
|
|
|
Allow the transport to fetch vsock_transport. It can downcast it to
|
|
access transport-specific function pointers.
|
|
|
|
The virtio transport will use this.
|
|
|
|
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
(cherry picked from commit 0b01aeb3d2fbf16787f0c9629f4ca52ae792f732)
|
|
---
|
|
include/net/af_vsock.h | 3 +++
|
|
net/vmw_vsock/af_vsock.c | 9 +++++++++
|
|
2 files changed, 12 insertions(+)
|
|
|
|
diff --git a/include/net/af_vsock.h b/include/net/af_vsock.h
|
|
index e9eb2d6791b3..23f55259b60d 100644
|
|
--- a/include/net/af_vsock.h
|
|
+++ b/include/net/af_vsock.h
|
|
@@ -165,6 +165,9 @@ static inline int vsock_core_init(const struct vsock_transport *t)
|
|
}
|
|
void vsock_core_exit(void);
|
|
|
|
+/* The transport may downcast this to access transport-specific functions */
|
|
+const struct vsock_transport *vsock_core_get_transport(void);
|
|
+
|
|
/**** UTILS ****/
|
|
|
|
void vsock_release_pending(struct sock *pending);
|
|
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
|
|
index b96ac918e0ba..e34d96f8bde2 100644
|
|
--- a/net/vmw_vsock/af_vsock.c
|
|
+++ b/net/vmw_vsock/af_vsock.c
|
|
@@ -1995,6 +1995,15 @@ void vsock_core_exit(void)
|
|
}
|
|
EXPORT_SYMBOL_GPL(vsock_core_exit);
|
|
|
|
+const struct vsock_transport *vsock_core_get_transport(void)
|
|
+{
|
|
+ /* vsock_register_mutex not taken since only the transport uses this
|
|
+ * function and only while registered.
|
|
+ */
|
|
+ return transport;
|
|
+}
|
|
+EXPORT_SYMBOL_GPL(vsock_core_get_transport);
|
|
+
|
|
MODULE_AUTHOR("VMware, Inc.");
|
|
MODULE_DESCRIPTION("VMware Virtual Socket Family");
|
|
MODULE_VERSION("1.0.1.0-k");
|
|
--
|
|
2.13.0
|
|
|