talloc & threads in rlm_eap
p.mayers at imperial.ac.uk
Thu Jun 19 18:39:07 CEST 2014
I'm wondering if we're breaking the talloc() threading restrictions in
rlm_eap / main/tls.c somewhere?
Specifically, I think tls_new_session can be called from multiple
threads at the same time, and that calls talloc with a context of "conf"
i.e. the module config, which is not per-thread. The talloc docs say
each thread must use a separate context (or, presumably, lock).
I wonder if this is what's triggering the corruption?
Ditto cbtls_new_session (though OpenSSL locking might protect that) and
I think a few other places.
rlm_eap might be due a substantial cleanup; I find it really really hard
to grasp, personally. What do people think?
More information about the Freeradius-Devel