It was overlooked that metadata is also used for connection info calls.
Until we find a nicer way, just do the creds assigment in this item twice:
once at metadata creation time, and again when we deliver the message.
{
struct kdbus_creds creds = {};
- /* uid, gid, pid and tid will be filled later */
+ /*
+ * uid, gid, pid and tid will be patched over again at message
+ * install time.
+ */
+ creds.uid = from_kuid_munged(current_user_ns(), current_uid());
+ creds.gid = from_kgid_munged(current_user_ns(), current_gid());
+ creds.pid = task_pid_vnr(current);
+ creds.tid = task_tgid_vnr(current);
creds.starttime = current->start_time;
return kdbus_meta_append_data(meta, KDBUS_ITEM_CREDS,