If this creates the uaccess data, I think this change in systemd-232 might fix this. if (streq(subsystem, "drivers")) { /* the 'drivers' pseudo-subsystem is special, and needs the real subsystem * encoded as well */ r = asprintf(&id, "+drivers:%s:%s", device->driver_subsystem, sysname); if (r < 0) return -ENOMEM; } else { r = asprintf(&id, "+%s:%s", subsystem, sysname); if (r < 0) return -ENOMEM; }