Closed Bug 1442055 Opened 6 years ago Closed 6 years ago

Tolerate the Primus GPU shim connecting to the Bumblebee daemon while sandboxed

Categories

(Core :: Security: Process Sandboxing, enhancement, P1)

Unspecified
Linux
enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1440206

People

(Reporter: jld, Assigned: jld)

References

Details

One of the use cases for bug 1440206, and the one that will actively break things if we don't do something about it, is Primus/Bumblebee doing a socket connection when a GL context is created; it will exit the calling process if the connection fails.

First, we need to detect it; the vendor/description/etc. strings it exposes at the OpenGL layer are those of the NVIDIA proprietary driver, but the GLX client vendor string is "primus" instead.  So we'd need to get that string out of the glxtest process and into... something; adding a lot of infrastructure to GfxInfo for this one use case seems suboptimal, but I don't know if there's a simpler alternative.

Second, we need to do something about it; options are:

1. If we can eagerly create the GL context in each content process before starting sandboxing, that should take care of this, but it imposes startup overhead even if WebGL isn't used.

2. We could weaken the sandbox, like with VirtualGL in bug 1438391.

3. We could disable WebGL; this is probably hard to justify.

4. We could move ahead with the connect() brokering in bug 1440206 only for this use case (not the nvidia abstract-namespace socket); this is also somewhat hard to justify given the added attack surface in the broker.
This wound up being handled as part of bug 1440206 after all.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.