aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy King <acking@vmware.com>2013-03-07 10:29:08 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-03-15 15:58:12 -0400
commit347e0899b1c75d907f01ac883ca38d37fe9bfa42 (patch)
tree74b1b63235134845774d4f9b73952944fb271120
parent61ec7e77d724f3150338ecaa2d16d4379b7498b1 (diff)
VMCI: Fix process-to-process DRGAMs.
When sending between processes, we always schedule a work item. Our work info struct has the message embedded in the middle, which means that we end up overwriting subsequent fields when we copy the (variable-length) message into it. Move it to the end of the struct. Acked-by: Dmitry Torokhov <dtor@vmware.com> Signed-off-by: Andy King <acking@vmware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/misc/vmw_vmci/vmci_datagram.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/misc/vmw_vmci/vmci_datagram.c b/drivers/misc/vmw_vmci/vmci_datagram.c
index ed5c433cd493..f3cdd904fe4d 100644
--- a/drivers/misc/vmw_vmci/vmci_datagram.c
+++ b/drivers/misc/vmw_vmci/vmci_datagram.c
@@ -42,9 +42,11 @@ struct datagram_entry {
42 42
43struct delayed_datagram_info { 43struct delayed_datagram_info {
44 struct datagram_entry *entry; 44 struct datagram_entry *entry;
45 struct vmci_datagram msg;
46 struct work_struct work; 45 struct work_struct work;
47 bool in_dg_host_queue; 46 bool in_dg_host_queue;
47 /* msg and msg_payload must be together. */
48 struct vmci_datagram msg;
49 u8 msg_payload[];
48}; 50};
49 51
50/* Number of in-flight host->host datagrams */ 52/* Number of in-flight host->host datagrams */