- if (mask) {
- const char *p = mask;
-
- if (startswith(p, "0x"))
- p += 2;
-
- if (sscanf(p, "%" PRIx64, &m) != 1)
- log_warning("Couldn't parse systemd.kdbus_attach_flags_mask= kernel command line parameter.");
+ if (r == 0) {
+ sprintf(buf, "0x%" PRIx64 "\n", m);
+ r = write_string_file("/sys/module/kdbus/parameters/attach_flags_mask", buf);
+ if (r < 0)
+ return log_full_errno(IN_SET(r, -ENOENT, -EROFS) ? LOG_DEBUG : LOG_WARNING, r,
+ "Failed to write kdbus attach mask: %m");