Here are my attempts to answer the questions in the SRU template.  I'm
not an Ubuntu developer, and I don't speak Debian package language (I
speak RPM, but that's rather different), so I'm not going to send an
actual debdiff or whatever it's called.

Note, however, that I confused myself with the git history.  The latest
upstream release in the 0.20 series is 0.20.7, and 0.20.7 does not have
the fix.  The fix I linked applies directly on top of 0.20.7.

This bug should therefore be fixed in Vivid before worrying about
backports.

The fix does *not* apply to 0.20.3 as is.  I can try to backport it, but
I'd want confirmation that it would be likely to be applied (as opposed
to bumping p11-kit to a newer microrelease or just leaving it unfixed).

[Impact]

Multithreaded programs that use p11-kit and call fork can deadlock due
to a race.  More complex programs that use certain malloc replacements
and link to libraries like libvmime may deadlock when forking as well,
even if they don't use p11-kit.

The deadlock is caused by the use of non async-signal-safe functions in
an atfork handler in p11-kit.

[Test Case]

Compile and run the attached program.  With a buggy p11-kit, it is very
likely to deadlock.  With a fixed p11-kit, it will exit after about five
seconds.

[Regression Potential]

When I looked at the patch, it looked straightforward.

** Attachment added: "p11kit_hang.c"
   
https://bugs.launchpad.net/ubuntu/+source/p11-kit/+bug/1381743/+attachment/4264589/+files/p11kit_hang.c

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1381743

Title:
  Please consider backporting a p11-kit deadlock fix

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/p11-kit/+bug/1381743/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to