userns: Convert drm to use kuid and kgid and struct pid where appropriate
Blink Blink this had not been converted to use struct pid ages ago? - On drm open capture the openers kuid and struct pid. - On drm close release the kuid and struct pid - When reporting the uid and pid convert the kuid and struct pid into values in the appropriate namespace. Cc: dri-devel@lists.freedesktop.org Acked-by: Dave Airlie <airlied@redhat.com> Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
This commit is contained in:
@@ -251,7 +251,7 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
|
||||
filp->private_data = priv;
|
||||
priv->filp = filp;
|
||||
priv->uid = current_euid();
|
||||
priv->pid = task_pid_nr(current);
|
||||
priv->pid = get_pid(task_pid(current));
|
||||
priv->minor = idr_find(&drm_minors_idr, minor_id);
|
||||
priv->ioctl_count = 0;
|
||||
/* for compatibility root is always authenticated */
|
||||
@@ -524,6 +524,7 @@ int drm_release(struct inode *inode, struct file *filp)
|
||||
if (drm_core_check_feature(dev, DRIVER_PRIME))
|
||||
drm_prime_destroy_file_private(&file_priv->prime);
|
||||
|
||||
put_pid(file_priv->pid);
|
||||
kfree(file_priv);
|
||||
|
||||
/* ========================================================
|
||||
|
Reference in New Issue
Block a user