On Thu, 23 Aug 2018 at 11:38, Michel Dänzer michel@daenzer.net wrote:
On 2018-08-23 12:04 p.m., Emil Velikov wrote:
From: Emil Velikov emil.velikov@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@amd.com Cc: Mike bugs.freedesktop.org@pm.port0.org Fixes: a02900133b3 ("xf86drm: introduce a get_real_pci_path() helper") Signed-off-by: Emil Velikov emil.velikov@collabora.com
Reviewed-by: Michel Dänzer michel.daenzer@amd.com Tested-by: Michel Dänzer michel.daenzer@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