* KDBUS_ITEM_CREDS
*/
struct kdbus_creds {
- __u64 uid;
- __u64 euid;
- __u64 suid;
- __u64 fsuid;
- __u64 gid;
- __u64 egid;
- __u64 sgid;
- __u64 fsgid;
+ __u32 uid;
+ __u32 euid;
+ __u32 suid;
+ __u32 fsuid;
+ __u32 gid;
+ __u32 egid;
+ __u32 sgid;
+ __u32 fsgid;
};
/**
* KDBUS_ITEM_AUDIT
*/
struct kdbus_audit {
- __u64 sessionid;
- __u64 loginuid;
+ __u32 sessionid;
+ __u32 loginuid;
};
/**
/**
* struct kdbus_memfd - a kdbus memfd
- * @size: The memfd's size
+ * @start: The offset into the memfd where the segment starts
+ * @size: The size of the memfd segment
* @fd: The file descriptor number
* @__pad: Padding to ensure proper alignment and size
*
* KDBUS_ITEM_PAYLOAD_MEMFD
*/
struct kdbus_memfd {
+ __u64 start;
__u64 size;
int fd;
__u32 __pad;
* broadcast messages that have been lost since the
* last call.
* @msg_size: Filled by the kernel with the actual message size. This
- * mirrors the 'size' member of the message stored at
- * @offset, but allows callers to access it without mapping
- * their pool. By using @msg_size and @offset, you can map
- * only the message itself, not the whole pool.
+ * is the full size of the slice placed at @offset. It
+ * includes the memory used for the kdbus_msg object, but
+ * also for all appended VECs. By using @msg_size and
+ * @offset, you can map a single message, instead of
+ * mapping the whole pool.
*
* This struct is used with the KDBUS_CMD_MSG_RECV ioctl.
*/
* a service
* @KDBUS_HELLO_MONITOR: Special-purpose connection to monitor
* bus traffic
+ * @KDBUS_HELLO_UNPRIVILEGED: Don't treat this connection as privileged once
+ * the bus connection was established.
*/
enum kdbus_hello_flags {
KDBUS_HELLO_ACCEPT_FD = 1ULL << 0,
KDBUS_HELLO_ACTIVATOR = 1ULL << 1,
KDBUS_HELLO_POLICY_HOLDER = 1ULL << 2,
KDBUS_HELLO_MONITOR = 1ULL << 3,
+ KDBUS_HELLO_UNPRIVILEGED = 1ULL << 4,
};
/**