Summary: | C_Initialize deadlock after fork | ||
---|---|---|---|
Product: | p11-glue | Reporter: | David Woodhouse <dwmw2> |
Component: | p11-kit | Assignee: | Stef Walter <stefw> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | n.mavrogiannopoulos |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | simple test case |
Description
David Woodhouse
2015-05-02 21:27:52 UTC
I think it's wrong to be calling C_Finalize() on the loaded modules in the child anyway. The behaviour if you do that is undefined. If anything it needs to be calling C_Initialize(), surely? Fixed by this patch in git master: commit cacaf8cd0b0a4f2cd61b61b012cd5cbf715fe38f Author: Nikos Mavrogiannopoulos <nmav@redhat.com> Date: Wed Jun 24 09:43:57 2015 +0200 In proxy module don't call C_Finalize on a forked process. This corrects a deadlock on the forked process. The deadlock happened because the proxy called C_Finalize prior to a C_Initialize which is wrong according to PKCS #11 (2.40). This patch eliminates the C_Finalize call in that case. This resolves #90289 https://bugs.freedesktop.org/show_bug.cgi?id=90289 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.