← Back to team overview

touch-packages team mailing list archive

[Bug 1381743] Re: Please consider backporting a p11-kit deadlock fix

 

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
Touch seeded packages, which is subscribed to p11-kit in Ubuntu.
https://bugs.launchpad.net/bugs/1381743

Title:
  Please consider backporting a p11-kit deadlock fix

Status in “p11-kit” package in Ubuntu:
  New

Bug description:
  Linking against p11-kit or gnutls (especially the outdated gnutls in
  Trusty) can cause fork() to deadlock randomly.  Please consider
  backporting the stable fix here:

  http://cgit.freedesktop.org/p11-glue/p11-kit/commit/?h=stable&id=0ecc141f372b375ddd2087a8ca406797976f03bf

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


References