mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 20:32:04 +09:00
UPSTREAM: 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 0b01aeb3d2)
Bug: 121166534
Test: Ran cuttlefish with android-4.4 + VSOCKETS, VMWARE_VMCI_VSOCKETS
Signed-off-by: Cody Schuffelen <schuffelen@google.com>
Change-Id: I442706ae71dc14c70fc4033d9719134c2d034509
This commit is contained in:
committed by
Alistair Strachan
parent
a598d93c2a
commit
3fc44c12b2
@@ -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);
|
||||
|
||||
@@ -1991,6 +1991,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");
|
||||
|
||||
Reference in New Issue
Block a user