[PATCH libdrm] xf86drm: fallback to normal path when realpath fails

Emil Velikov emil.l.velikov at gmail.com
Thu Aug 23 12:52:58 UTC 2018


On Thu, 23 Aug 2018 at 11:38, Michel Dänzer <michel at daenzer.net> wrote:
>
> On 2018-08-23 12:04 p.m., Emil Velikov wrote:
> > From: Emil Velikov <emil.velikov at collabora.com>
> >
> > Earlier commit reworked our sysfs handling to use realpath.
> > Sadly that backfired since the Firefox sandboxing mechanism rejects
> > that. Despite the files/folders being in the allowed list, of the
> > sandboxing mechanism.
>
> From the Firefox bug report, the problem was stat on the top-level /sys
> directory.
>
That's the part I didn't quite get. I don't see anything in libdrm
that would do that.
We do have fstat(open("/dev/dri/foo"), stat("/dev/dri/foo").

I guess the C runtime (compiler?) might be doing that one?
Like the realpath call being translated to a series of stat() calls.

>
> > Oddly enough, the Chromium sandboxing doesn't complain about any of
> > this.
> >
> > Since there are no Firefox releases with the fix, add a temporary
> > solution which falls back to the original handling.
> >
> > Sadly, this won't work for virgl.
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107516
> > Cc: Michel Dänzer <michel.daenzer at amd.com>
> > Cc: Mike <bugs.freedesktop.org at pm.port0.org>
> > Fixes: a02900133b3 ("xf86drm: introduce a get_real_pci_path() helper")
> > Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
>
> Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
> Tested-by: Michel Dänzer <michel.daenzer at amd.com>
>
>
> Thanks Emil!
>
Sorry for these experiences. I should really test things with Firefox,
saying "it works with Chromium" doesn't quite cut it.

Thanks
Emil


More information about the dri-devel mailing list