chiark / gitweb /
sd-bus: sync kdbus.h (ABI break)
[elogind.git] / src / libsystemd / sd-bus / bus-kernel.c
index 09ff25fe71acafd4f5cc28c9d9b23bf1543e5e03..5ae1418afc658e3560a8b84400982930a09706a2 100644 (file)
@@ -799,14 +799,17 @@ int bus_kernel_connect(sd_bus *b) {
 }
 
 static void close_kdbus_msg(sd_bus *bus, struct kdbus_msg *k) {
+        struct kdbus_cmd_free cmd;
         uint64_t off _alignas_(8);
         struct kdbus_item *d;
 
         assert(bus);
         assert(k);
 
-        off = (uint8_t *)k - (uint8_t *)bus->kdbus_buffer;
-        ioctl(bus->input_fd, KDBUS_CMD_FREE, &off);
+        cmd.flags = 0;
+        cmd.offset = (uint8_t *)k - (uint8_t *)bus->kdbus_buffer;
+
+        ioctl(bus->input_fd, KDBUS_CMD_FREE, &cmd);
 
         KDBUS_ITEM_FOREACH(d, k, items) {