diff options
author | Ben Pfaff <blp@nicira.com> | 2011-10-11 12:24:41 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2011-10-12 16:23:16 -0700 |
commit | 69ebca1e35a39d75032f3d8092da563f60673110 (patch) | |
tree | 36838aba4a47cea69e4b7a884feef0d65890500e /lib/dpif-linux.h | |
parent | 0e70cdcb8ddeb20417e682fd63769f9d16601b07 (diff) |
dpif-linux: Avoid unaligned accesses to vport stats sent by the datapath.
Reported-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'lib/dpif-linux.h')
-rw-r--r-- | lib/dpif-linux.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/dpif-linux.h b/lib/dpif-linux.h index c72ea88f..a9f8bfea 100644 --- a/lib/dpif-linux.h +++ b/lib/dpif-linux.h @@ -32,7 +32,11 @@ struct dpif_linux_vport { uint32_t port_no; /* UINT32_MAX if unknown. */ enum ovs_vport_type type; - /* Attributes. */ + /* Attributes. + * + * The 'stats' member points to 64-bit data that might only be aligned on + * 32-bit boundaries, so use get_unaligned_u64() to access its values. + */ const char *name; /* OVS_VPORT_ATTR_NAME. */ const uint32_t *upcall_pid; /* OVS_VPORT_ATTR_UPCALL_PID. */ const struct ovs_vport_stats *stats; /* OVS_VPORT_ATTR_STATS. */ |