diff mbox series

drm: Update todo.rst

Message ID 20210121112919.1460322-1-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show
Series drm: Update todo.rst | expand

Commit Message

Daniel Vetter Jan. 21, 2021, 11:29 a.m. UTC
Interrnship season is starting, let's review this. One thing that's
pending is Maxime's work to roll out drm_atomic_state pointers to all
callbacks, he said he'll remove that entry once it's all done.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 Documentation/gpu/todo.rst | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

Comments

Maxime Ripard Jan. 21, 2021, 1:21 p.m. UTC | #1
Hi Daniel,

On Thu, Jan 21, 2021 at 12:29:19PM +0100, Daniel Vetter wrote:
> Interrnship season is starting, let's review this. One thing that's

  ^ internship

> pending is Maxime's work to roll out drm_atomic_state pointers to all
> callbacks, he said he'll remove that entry once it's all done.

I plan on sending it by the end of the week

> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
>  Documentation/gpu/todo.rst | 28 +++++++++++++++-------------
>  1 file changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
> index 009d8e6c7e3c..492768dd2fd9 100644
> --- a/Documentation/gpu/todo.rst
> +++ b/Documentation/gpu/todo.rst
> @@ -577,20 +577,24 @@ Contact: Daniel Vetter
>  
>  Level: Intermediate
>  
> -KMS cleanups
> -------------
> +Object lifetime fixes
> +---------------------
> +
> +There's two related issues here
> +
> +- Cleanup up the various ->destroy callbacks, which often are all the same
> +  simple code.
>  
> -Some of these date from the very introduction of KMS in 2008 ...
> +- Lots of drivers erroneously allocate DRM modeset objects using devm_kzalloc,
> +  which results in use-after free issues on driver unload. This can be serious
> +  trouble even for drivers for hardwared integrated on the SoC due to

                                  ^ hardware?

> +  EPROBE_DEFERRED backoff.

Thanks!
Maxime
Thomas Zimmermann Jan. 21, 2021, 2:31 p.m. UTC | #2
Hi

we talked about making dma_resv the default lock for GEM objects. Could 
you add an entry for this? Some interns might feel adventurous. :)

Best regards
Thomas

Am 21.01.21 um 12:29 schrieb Daniel Vetter:
> Interrnship season is starting, let's review this. One thing that's
> pending is Maxime's work to roll out drm_atomic_state pointers to all
> callbacks, he said he'll remove that entry once it's all done.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
>   Documentation/gpu/todo.rst | 28 +++++++++++++++-------------
>   1 file changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
> index 009d8e6c7e3c..492768dd2fd9 100644
> --- a/Documentation/gpu/todo.rst
> +++ b/Documentation/gpu/todo.rst
> @@ -577,20 +577,24 @@ Contact: Daniel Vetter
>   
>   Level: Intermediate
>   
> -KMS cleanups
> -------------
> +Object lifetime fixes
> +---------------------
> +
> +There's two related issues here
> +
> +- Cleanup up the various ->destroy callbacks, which often are all the same
> +  simple code.
>   
> -Some of these date from the very introduction of KMS in 2008 ...
> +- Lots of drivers erroneously allocate DRM modeset objects using devm_kzalloc,
> +  which results in use-after free issues on driver unload. This can be serious
> +  trouble even for drivers for hardwared integrated on the SoC due to
> +  EPROBE_DEFERRED backoff.
>   
> -- Make ->funcs and ->helper_private vtables optional. There's a bunch of empty
> -  function tables in drivers, but before we can remove them we need to make sure
> -  that all the users in helpers and drivers do correctly check for a NULL
> -  vtable.
> +Both these problems can be solved by switching over to drmm_kzalloc(), and the
> +various convenience wrappers provided, e.g. drmm_crtc_alloc_with_planes(),
> +drmm_universal_plane_alloc(), ... and so on.
>   
> -- Cleanup up the various ->destroy callbacks. A lot of them just wrapt the
> -  drm_*_cleanup implementations and can be removed. Some tack a kfree() at the
> -  end, for which we could add drm_*_cleanup_kfree(). And then there's the (for
> -  historical reasons) misnamed drm_primary_helper_destroy() function.
> +Contact: Daniel Vetter
>   
>   Level: Intermediate
>   
> @@ -626,8 +630,6 @@ See the documentation of :ref:`VKMS <vkms>` for more details. This is an ideal
>   internship task, since it only requires a virtual machine and can be sized to
>   fit the available time.
>   
> -Contact: Daniel Vetter
> -
>   Level: See details
>   
>   Backlight Refactoring
>
Daniel Vetter Jan. 21, 2021, 2:40 p.m. UTC | #3
On Thu, Jan 21, 2021 at 3:31 PM Thomas Zimmermann <tzimmermann@suse.de> wrote:
>
> Hi
>
> we talked about making dma_resv the default lock for GEM objects. Could
> you add an entry for this? Some interns might feel adventurous. :)

Level: Too hard for Daniel

Not sure that's a great internship tasks :-P

But yeah I'll try to type up something around this maybe.
-Daniel

>
> Best regards
> Thomas
>
> Am 21.01.21 um 12:29 schrieb Daniel Vetter:
> > Interrnship season is starting, let's review this. One thing that's
> > pending is Maxime's work to roll out drm_atomic_state pointers to all
> > callbacks, he said he'll remove that entry once it's all done.
> >
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Cc: Maxime Ripard <mripard@kernel.org>
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: David Airlie <airlied@linux.ie>
> > Cc: Daniel Vetter <daniel@ffwll.ch>
> > ---
> >   Documentation/gpu/todo.rst | 28 +++++++++++++++-------------
> >   1 file changed, 15 insertions(+), 13 deletions(-)
> >
> > diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
> > index 009d8e6c7e3c..492768dd2fd9 100644
> > --- a/Documentation/gpu/todo.rst
> > +++ b/Documentation/gpu/todo.rst
> > @@ -577,20 +577,24 @@ Contact: Daniel Vetter
> >
> >   Level: Intermediate
> >
> > -KMS cleanups
> > -------------
> > +Object lifetime fixes
> > +---------------------
> > +
> > +There's two related issues here
> > +
> > +- Cleanup up the various ->destroy callbacks, which often are all the same
> > +  simple code.
> >
> > -Some of these date from the very introduction of KMS in 2008 ...
> > +- Lots of drivers erroneously allocate DRM modeset objects using devm_kzalloc,
> > +  which results in use-after free issues on driver unload. This can be serious
> > +  trouble even for drivers for hardwared integrated on the SoC due to
> > +  EPROBE_DEFERRED backoff.
> >
> > -- Make ->funcs and ->helper_private vtables optional. There's a bunch of empty
> > -  function tables in drivers, but before we can remove them we need to make sure
> > -  that all the users in helpers and drivers do correctly check for a NULL
> > -  vtable.
> > +Both these problems can be solved by switching over to drmm_kzalloc(), and the
> > +various convenience wrappers provided, e.g. drmm_crtc_alloc_with_planes(),
> > +drmm_universal_plane_alloc(), ... and so on.
> >
> > -- Cleanup up the various ->destroy callbacks. A lot of them just wrapt the
> > -  drm_*_cleanup implementations and can be removed. Some tack a kfree() at the
> > -  end, for which we could add drm_*_cleanup_kfree(). And then there's the (for
> > -  historical reasons) misnamed drm_primary_helper_destroy() function.
> > +Contact: Daniel Vetter
> >
> >   Level: Intermediate
> >
> > @@ -626,8 +630,6 @@ See the documentation of :ref:`VKMS <vkms>` for more details. This is an ideal
> >   internship task, since it only requires a virtual machine and can be sized to
> >   fit the available time.
> >
> > -Contact: Daniel Vetter
> > -
> >   Level: See details
> >
> >   Backlight Refactoring
> >
>
> --
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Felix Imendörffer
>
Daniel Vetter Jan. 21, 2021, 4:28 p.m. UTC | #4
On Thu, Jan 21, 2021 at 02:21:53PM +0100, Maxime Ripard wrote:
> Hi Daniel,
> 
> On Thu, Jan 21, 2021 at 12:29:19PM +0100, Daniel Vetter wrote:
> > Interrnship season is starting, let's review this. One thing that's
> 
>   ^ internship
> 
> > pending is Maxime's work to roll out drm_atomic_state pointers to all
> > callbacks, he said he'll remove that entry once it's all done.
> 
> I plan on sending it by the end of the week

Typos fixed and pushed with your irc-ack.
-Daniel

> 
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Cc: Maxime Ripard <mripard@kernel.org>
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: David Airlie <airlied@linux.ie>
> > Cc: Daniel Vetter <daniel@ffwll.ch>
> > ---
> >  Documentation/gpu/todo.rst | 28 +++++++++++++++-------------
> >  1 file changed, 15 insertions(+), 13 deletions(-)
> > 
> > diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
> > index 009d8e6c7e3c..492768dd2fd9 100644
> > --- a/Documentation/gpu/todo.rst
> > +++ b/Documentation/gpu/todo.rst
> > @@ -577,20 +577,24 @@ Contact: Daniel Vetter
> >  
> >  Level: Intermediate
> >  
> > -KMS cleanups
> > -------------
> > +Object lifetime fixes
> > +---------------------
> > +
> > +There's two related issues here
> > +
> > +- Cleanup up the various ->destroy callbacks, which often are all the same
> > +  simple code.
> >  
> > -Some of these date from the very introduction of KMS in 2008 ...
> > +- Lots of drivers erroneously allocate DRM modeset objects using devm_kzalloc,
> > +  which results in use-after free issues on driver unload. This can be serious
> > +  trouble even for drivers for hardwared integrated on the SoC due to
> 
>                                   ^ hardware?
> 
> > +  EPROBE_DEFERRED backoff.
> 
> Thanks!
> Maxime
diff mbox series

Patch

diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
index 009d8e6c7e3c..492768dd2fd9 100644
--- a/Documentation/gpu/todo.rst
+++ b/Documentation/gpu/todo.rst
@@ -577,20 +577,24 @@  Contact: Daniel Vetter
 
 Level: Intermediate
 
-KMS cleanups
-------------
+Object lifetime fixes
+---------------------
+
+There's two related issues here
+
+- Cleanup up the various ->destroy callbacks, which often are all the same
+  simple code.
 
-Some of these date from the very introduction of KMS in 2008 ...
+- Lots of drivers erroneously allocate DRM modeset objects using devm_kzalloc,
+  which results in use-after free issues on driver unload. This can be serious
+  trouble even for drivers for hardwared integrated on the SoC due to
+  EPROBE_DEFERRED backoff.
 
-- Make ->funcs and ->helper_private vtables optional. There's a bunch of empty
-  function tables in drivers, but before we can remove them we need to make sure
-  that all the users in helpers and drivers do correctly check for a NULL
-  vtable.
+Both these problems can be solved by switching over to drmm_kzalloc(), and the
+various convenience wrappers provided, e.g. drmm_crtc_alloc_with_planes(),
+drmm_universal_plane_alloc(), ... and so on.
 
-- Cleanup up the various ->destroy callbacks. A lot of them just wrapt the
-  drm_*_cleanup implementations and can be removed. Some tack a kfree() at the
-  end, for which we could add drm_*_cleanup_kfree(). And then there's the (for
-  historical reasons) misnamed drm_primary_helper_destroy() function.
+Contact: Daniel Vetter
 
 Level: Intermediate
 
@@ -626,8 +630,6 @@  See the documentation of :ref:`VKMS <vkms>` for more details. This is an ideal
 internship task, since it only requires a virtual machine and can be sized to
 fit the available time.
 
-Contact: Daniel Vetter
-
 Level: See details
 
 Backlight Refactoring