Displaying 1 result from an estimated 1 matches for "update_input_chunk".
2005 Oct 12
1
[PATCH] Restore, comment, correct memory barriers in xenstored.
...IO;
@@ -183,13 +192,21 @@
avail = len;
was_full = !output_avail(&h);
+ /* We must read header before we read data. */
+ rmb();
+
memcpy(data, src, avail);
data += avail;
len -= avail;
+
+ /* Other side must not see free space until we''ve copied out */
+ mb();
+
update_input_chunk(in, avail);
pr_debug("Finished read of %i bytes (%i to go)\n", avail, len);
/* If it was full, tell them we''ve taken some. */
if (was_full)
+ /* Implies mb(): they will see new header. */
notify_remote_via_evtchn(xen_start_info->store_evtchn);
}
--
A bad a...