summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Pattrick <mkp@redhat.com>2023-01-30 17:04:15 -0500
committerIlya Maximets <i.maximets@ovn.org>2023-02-03 22:18:15 +0100
commit531c17023cd21cdbdc876b544507fc4f723afd7b (patch)
treed47b987d3ee57333ec842ef0683b8169322ca553 /lib
parentb1f58f5072d6c934aafadc8ee27832ffac003db5 (diff)
downloadopenvswitch-531c17023cd21cdbdc876b544507fc4f723afd7b.tar.gz
netdev-dummy: Allocate dummy_packet_stream on cacheline boundary.
UB Sanitizer report: lib/netdev-dummy.c:197:15: runtime error: member access within misaligned address 0x00000217a7f0 for type 'struct dummy_packet_stream', which requires 64 byte alignment ^ #0 dummy_packet_stream_init lib/netdev-dummy.c:197 #1 dummy_packet_stream_create lib/netdev-dummy.c:208 #2 dummy_packet_conn_set_config lib/netdev-dummy.c:436 [...] Signed-off-by: Mike Pattrick <mkp@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/netdev-dummy.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c
index 72cb95471..5d59c9c03 100644
--- a/lib/netdev-dummy.c
+++ b/lib/netdev-dummy.c
@@ -204,7 +204,7 @@ dummy_packet_stream_create(struct stream *stream)
{
struct dummy_packet_stream *s;
- s = xzalloc(sizeof *s);
+ s = xzalloc_cacheline(sizeof *s);
dummy_packet_stream_init(s, stream);
return s;
@@ -350,7 +350,7 @@ dummy_packet_conn_close(struct dummy_packet_conn *conn)
pstream_close(pconn->pstream);
for (i = 0; i < pconn->n_streams; i++) {
dummy_packet_stream_close(pconn->streams[i]);
- free(pconn->streams[i]);
+ free_cacheline(pconn->streams[i]);
}
free(pconn->streams);
pconn->pstream = NULL;
@@ -359,7 +359,7 @@ dummy_packet_conn_close(struct dummy_packet_conn *conn)
case ACTIVE:
dummy_packet_stream_close(rconn->rstream);
- free(rconn->rstream);
+ free_cacheline(rconn->rstream);
rconn->rstream = NULL;
reconnect_destroy(rconn->reconnect);
rconn->reconnect = NULL;
@@ -469,7 +469,7 @@ dummy_pconn_run(struct netdev_dummy *dev)
pconn->streams = xrealloc(pconn->streams,
((pconn->n_streams + 1)
* sizeof s));
- s = xmalloc(sizeof *s);
+ s = xmalloc_cacheline(sizeof *s);
pconn->streams[pconn->n_streams++] = s;
dummy_packet_stream_init(s, new_stream);
} else if (error != EAGAIN) {
@@ -489,7 +489,7 @@ dummy_pconn_run(struct netdev_dummy *dev)
stream_get_name(s->stream),
ovs_retval_to_string(error));
dummy_packet_stream_close(s);
- free(s);
+ free_cacheline(s);
pconn->streams[i] = pconn->streams[--pconn->n_streams];
} else {
i++;