mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-28 23:23:55 +08:00
drm: remove minor-id during unplug
Don't delay minor removal to drm_put_minor(). Otherwise, user-space can still open the minor and cause the kernel to oops. Instead, remove the minor during unplug so any new open() will fail to access this minor. Note that open() and drm_unplug_minor() are both protected by the global DRM mutex so we're fine. Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
865fb47f7f
commit
f67e946bf2
@ -346,6 +346,7 @@ static void drm_unplug_minor(struct drm_minor *minor)
|
||||
#endif
|
||||
|
||||
drm_sysfs_device_remove(minor);
|
||||
idr_remove(&drm_minors_idr, minor->index);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -365,9 +366,6 @@ static void drm_put_minor(struct drm_minor *minor)
|
||||
DRM_DEBUG("release secondary minor %d\n", minor->index);
|
||||
|
||||
drm_unplug_minor(minor);
|
||||
|
||||
idr_remove(&drm_minors_idr, minor->index);
|
||||
|
||||
kfree(minor);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user