Sorry for the delay, had a few days off last week. Patch was pushed to drm-misc-fixes a minute ago.
Regards, Christian. On 4/25/25 16:58, Tvrtko Ursulin wrote: > > + Thomas, AFAICT you are handling drm-misc-fixes this round - are you okay to > take this patch with Christian's rb? > > Regards, > > Tvrtko > > On 23/04/2025 13:57, Christian König wrote: >> On 4/22/25 17:10, Tvrtko Ursulin wrote: >>> >>> On 22/04/2025 10:20, Koenig, Christian wrote: >>>> [AMD Official Use Only - AMD Internal Distribution Only] >>>> >>>> Reviewed-by: Christian König <christian.koe...@amd.com> >>> >>> Thanks! >>> >>> I could also add: >>> >>> Fixes: 3f09a0cd4ea3 ("drm: Add common fdinfo helper") >>> Cc: <sta...@vger.kernel.org> # v6.5+ >>> >>> With a disclaimer that the problem predates the common helper. Not sure if >>> it is worth it for such an edge case. >>> >>> I was planning to merge to drm-misc-next, but if I add the stable tag it >>> would be drm-misc-fixes right? >> >> Yeah even without the CC:stable tag that is clearly something for the -fixes >> branch I would say. >> >> Regards, >> Christian. >> >> >>> >>> Regards, >>> >>> Tvrtko >>> >>>> ________________________________________ >>>> Von: Tvrtko Ursulin <tvrtko.ursu...@igalia.com> >>>> Gesendet: Freitag, 18. April 2025 18:25 >>>> An: dri-devel@lists.freedesktop.org >>>> Cc: kernel-...@igalia.com; Tvrtko Ursulin; Koenig, Christian; Lucas De >>>> Marchi; Rodrigo Vivi; Umesh Nerlige Ramappa >>>> Betreff: [PATCH] drm/fdinfo: Protect against driver unbind >>>> >>>> If we unbind a driver from the PCI device with an active DRM client, >>>> subsequent read of the fdinfo data associated with the file descriptor in >>>> question will not end well. >>>> >>>> Protect the path with a drm_dev_enter/exit() pair. >>>> >>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursu...@igalia.com> >>>> Cc: Christian König <christian.koe...@amd.com> >>>> Cc: Lucas De Marchi <lucas.demar...@intel.com> >>>> Cc: Rodrigo Vivi <rodrigo.v...@intel.com> >>>> Cc: Umesh Nerlige Ramappa <umesh.nerlige.rama...@intel.com> >>>> --- >>>> drivers/gpu/drm/drm_file.c | 6 ++++++ >>>> 1 file changed, 6 insertions(+) >>>> >>>> diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c >>>> index c299cd94d3f7..cf2463090d3a 100644 >>>> --- a/drivers/gpu/drm/drm_file.c >>>> +++ b/drivers/gpu/drm/drm_file.c >>>> @@ -964,6 +964,10 @@ void drm_show_fdinfo(struct seq_file *m, struct file >>>> *f) >>>> struct drm_file *file = f->private_data; >>>> struct drm_device *dev = file->minor->dev; >>>> struct drm_printer p = drm_seq_file_printer(m); >>>> + int idx; >>>> + >>>> + if (!drm_dev_enter(dev, &idx)) >>>> + return; >>>> >>>> drm_printf(&p, "drm-driver:\t%s\n", dev->driver->name); >>>> drm_printf(&p, "drm-client-id:\t%llu\n", file->client_id); >>>> @@ -983,6 +987,8 @@ void drm_show_fdinfo(struct seq_file *m, struct file >>>> *f) >>>> >>>> if (dev->driver->show_fdinfo) >>>> dev->driver->show_fdinfo(&p, file); >>>> + >>>> + drm_dev_exit(idx); >>>> } >>>> EXPORT_SYMBOL(drm_show_fdinfo); >>>> >>>> -- >>>> 2.48.0 >>>> >>> >> >