[Mesa-dev] [PATCH] gallium/hud: bugfix: 68169 - Sensor extensions segfaults.

Steven Toth stoth at kernellabs.com
Thu Oct 13 13:32:42 UTC 2016


Hello Nicolai

>> On inspection, this was due to the 'unigine' application
>> created the HUD contexts twice (two screens?). The
>> extensions had never been tested in that configuration,
>> and the free_query_data() calls were thus trigger.
>
>
> The HUD is actually created per-context. Two general points that apply
> equally to all four parts of the patch:

Yeah. I didn;t realize this as none of the default use cases ever
exercised this approach.
Now that we have one, I'm happy to adjust it.

>
> Instead of open-coding the users variable, I'd prefer that you use the
> pipe_reference mechanism.

Agreed, done.

It would have been nice if a macro was global created for
pip_reference_inc/dec(obj), instead
of having to call (NULL, obj) and (obj, NULL), and read the code for
the implementation,
but this does not matter at this point.

>
> Contexts can be created and destroyed simultaneously from multiple threads.

In which case yes, we need some exclusivity, I've implemented this
with pipe_mutexes.

> You probably need to protect some of the query functions with a mutex as
> well. The general rule of thumb is that functions associated to a

Yep. Done.

> Thanks for looking into this!

Thank you for the review. I should have a patch available shortly.

-- 
Steven Toth - Kernel Labs
http://www.kernellabs.com


More information about the mesa-dev mailing list