talloc & threads in rlm_eap

Phil Mayers 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 mailing list