X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fkdbus.h;h=65f76e9cf4b7bc04b2660091d4d6f0ec975d3370;hb=2b347169b9046ff2d735ef23e62a8c74f5151600;hp=8f98396c5335e9b00b78d6187bad50e6ce675678;hpb=e90b8642cde8e11c2d3b49a6722c00a4954796cd;p=elogind.git diff --git a/src/libsystemd/sd-bus/kdbus.h b/src/libsystemd/sd-bus/kdbus.h index 8f98396c5..65f76e9cf 100644 --- a/src/libsystemd/sd-bus/kdbus.h +++ b/src/libsystemd/sd-bus/kdbus.h @@ -223,6 +223,7 @@ struct kdbus_policy_access { * @KDBUS_ITEM_ID: Connection ID * @KDBUS_ITEM_TIMESTAMP: Timestamp * @KDBUS_ITEM_CREDS: Process credential + * @KDBUS_ITEM_AUXGROUPS: Auxiliary process groups * @KDBUS_ITEM_PID_COMM: Process ID "comm" identifier * @KDBUS_ITEM_TID_COMM: Thread ID "comm" identifier * @KDBUS_ITEM_EXE: The path of the executable @@ -263,6 +264,7 @@ enum kdbus_item_type { KDBUS_ITEM_ID, KDBUS_ITEM_TIMESTAMP, KDBUS_ITEM_CREDS, + KDBUS_ITEM_AUXGROUPS, KDBUS_ITEM_PID_COMM, KDBUS_ITEM_TID_COMM, KDBUS_ITEM_EXE, @@ -484,7 +486,7 @@ enum kdbus_policy_type { * policy entries for a name. The provided name * is not activated and not registered with the * name database, it only allows unprivileged - * connections to aquire a name, talk or discover + * connections to acquire a name, talk or discover * a service * @KDBUS_HELLO_MONITOR: Special-purpose connection to monitor * bus traffic @@ -500,6 +502,7 @@ enum kdbus_hello_flags { * enum kdbus_attach_flags - flags for metadata attachments * @KDBUS_ATTACH_TIMESTAMP: Timestamp * @KDBUS_ATTACH_CREDS: Credentials + * @KDBUS_ATTACH_AUXGROUPS: Auxiliary groups * @KDBUS_ATTACH_NAMES: Well-known names * @KDBUS_ATTACH_COMM: The "comm" process identifier * @KDBUS_ATTACH_EXE: The path of the executable @@ -514,16 +517,17 @@ enum kdbus_hello_flags { enum kdbus_attach_flags { KDBUS_ATTACH_TIMESTAMP = 1 << 0, KDBUS_ATTACH_CREDS = 1 << 1, - KDBUS_ATTACH_NAMES = 1 << 2, - KDBUS_ATTACH_COMM = 1 << 3, - KDBUS_ATTACH_EXE = 1 << 4, - KDBUS_ATTACH_CMDLINE = 1 << 5, - KDBUS_ATTACH_CGROUP = 1 << 6, - KDBUS_ATTACH_CAPS = 1 << 7, - KDBUS_ATTACH_SECLABEL = 1 << 8, - KDBUS_ATTACH_AUDIT = 1 << 9, - KDBUS_ATTACH_CONN_NAME = 1 << 10, - _KDBUS_ATTACH_ALL = (1 << 11) - 1, + KDBUS_ATTACH_AUXGROUPS = 1 << 2, + KDBUS_ATTACH_NAMES = 1 << 3, + KDBUS_ATTACH_COMM = 1 << 4, + KDBUS_ATTACH_EXE = 1 << 5, + KDBUS_ATTACH_CMDLINE = 1 << 6, + KDBUS_ATTACH_CGROUP = 1 << 7, + KDBUS_ATTACH_CAPS = 1 << 8, + KDBUS_ATTACH_SECLABEL = 1 << 9, + KDBUS_ATTACH_AUDIT = 1 << 10, + KDBUS_ATTACH_CONN_NAME = 1 << 11, + _KDBUS_ATTACH_ALL = (1 << 12) - 1, }; /** @@ -729,24 +733,6 @@ struct kdbus_cmd_match { struct kdbus_item items[0]; } __attribute__((aligned(8))); -/** - * struct kdbus_cmd_memfd_make - create a kdbus memfd - * @size: The total size of the struct - * @file_size: The initial file size - * @fd: The returned file descriptor number - * @__pad: Padding to ensure proper alignement - * @items: A list of items for additional information - * - * This structure is used with the KDBUS_CMD_MEMFD_NEW ioctl. - */ -struct kdbus_cmd_memfd_make { - __u64 size; - __u64 file_size; - int fd; - __u32 __pad; - struct kdbus_item items[0]; -} __attribute__((aligned(8))); - /** * enum kdbus_ioctl_type - Ioctl API * @KDBUS_CMD_BUS_MAKE: After opening the "control" device node, this @@ -797,32 +783,6 @@ struct kdbus_cmd_memfd_make { * @KDBUS_CMD_MATCH_ADD: Install a match which broadcast messages should * be delivered to the connection. * @KDBUS_CMD_MATCH_REMOVE: Remove a current match for broadcast messages. - * @KDBUS_CMD_MEMFD_NEW: Return a new file descriptor which provides an - * anonymous shared memory file and which can be - * used to pass around larger chunks of data. - * Kdbus memfd files can be sealed, which allows - * the receiver to trust the data it has received. - * Kdbus memfd files expose only very limited - * operations, they can be mmap()ed, seek()ed, - * (p)read(v)() and (p)write(v)(); most other - * common file operations are not implemented. - * Special caution needs to be taken with - * read(v)()/write(v)() on a shared file; the - * underlying file position is always shared - * between all users of the file and race against - * each other, pread(v)()/pwrite(v)() avoid these - * issues. - * @KDBUS_CMD_MEMFD_SIZE_GET: Return the size of the underlying file, which - * changes with write(). - * @KDBUS_CMD_MEMFD_SIZE_SET: Truncate the underlying file to the specified - * size. - * @KDBUS_CMD_MEMFD_SEAL_GET: Return the state of the file sealing. - * @KDBUS_CMD_MEMFD_SEAL_SET: Seal or break a seal of the file. Only files - * which are not shared with other processes and - * which are currently not mapped can be sealed. - * The current process needs to be the one and - * single owner of the file, the sealing cannot - * be changed as long as the file is shared. */ enum kdbus_ioctl_type { KDBUS_CMD_BUS_MAKE = _IOW(KDBUS_IOCTL_MAGIC, 0x00, @@ -862,13 +822,6 @@ enum kdbus_ioctl_type { struct kdbus_cmd_match), KDBUS_CMD_MATCH_REMOVE = _IOW(KDBUS_IOCTL_MAGIC, 0x81, struct kdbus_cmd_match), - - KDBUS_CMD_MEMFD_NEW = _IOWR(KDBUS_IOCTL_MAGIC, 0xc0, - struct kdbus_cmd_memfd_make), - KDBUS_CMD_MEMFD_SIZE_GET = _IOR(KDBUS_IOCTL_MAGIC, 0xc1, __u64 *), - KDBUS_CMD_MEMFD_SIZE_SET = _IOW(KDBUS_IOCTL_MAGIC, 0xc2, __u64 *), - KDBUS_CMD_MEMFD_SEAL_GET = _IOR(KDBUS_IOCTL_MAGIC, 0xc3, int *), - KDBUS_CMD_MEMFD_SEAL_SET = _IO(KDBUS_IOCTL_MAGIC, 0xc4), }; /* @@ -899,8 +852,9 @@ enum kdbus_ioctl_type { * @EEXIST: A requested domain, bus or endpoint with the same * name already exists. A specific data type, which is * only expected once, is provided multiple times. - * @EFAULT: The supplied memory could not be accessed, or the data - * is not properly aligned. + * @EFAULT: The supplied memory could not be accessed, the data + * is not properly aligned, or the current task's memory + * is inaccessible. * @EINVAL: The provided data does not match its type or other * expectations, like a string which is not NUL terminated, * or a string length that points behind the first