19 Jun
2014
19 Jun
'14
12:39 p.m.
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? )