From: Kay Sievers Date: Fri, 12 Apr 2013 18:08:28 +0000 (+0200) Subject: bus: align the buffer we pass to the kernel X-Git-Tag: v202~128 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=8e7382422c01dc0c19dc3c35a6144fa703ba34ee;p=elogind.git bus: align the buffer we pass to the kernel --- diff --git a/src/libsystemd-bus/bus-kernel.c b/src/libsystemd-bus/bus-kernel.c index 2b3f46a64..d5152ec6d 100644 --- a/src/libsystemd-bus/bus-kernel.c +++ b/src/libsystemd-bus/bus-kernel.c @@ -109,7 +109,7 @@ static int bus_message_setup_kmsg(sd_bus_message *m) { sz += ALIGN8(offsetof(struct kdbus_msg, data) + dl + 1); } - m->kdbus = malloc0(sz); + m->kdbus = aligned_alloc(8, sz); if (!m->kdbus) return -ENOMEM; @@ -355,10 +355,11 @@ int bus_kernel_read_message(sd_bus *bus, sd_bus_message **m) { for (;;) { void *q; - q = realloc(bus->rbuffer, sz); + q = aligned_alloc(8, sz); if (!q) return -errno; + free(bus->rbuffer); k = bus->rbuffer = q; k->size = sz;