All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] libxl: Fix deadlock with pygrub
@ 2014-02-24 14:19 Ian Jackson
  2014-02-24 14:19 ` [PATCH 1/3] libxl: Fix libxl_postfork_child_noexec deadlock etc Ian Jackson
                   ` (4 more replies)
  0 siblings, 5 replies; 26+ messages in thread
From: Ian Jackson @ 2014-02-24 14:19 UTC (permalink / raw)
  To: xen-devel; +Cc: George Dunlap, Ian Campbell, M A Young

Thanks to Michael Young for reporting this, and my apologies for
introducing this bug.

  1/3 libxl: Fix libxl_postfork_child_noexec deadlock etc.
  2/3 libxl: Hold the atfork lock while closing carefd
  3/3 libxl: Fix carefd lock leak in save callout

Patch 1 is the actual bugfix.  The bug is IMO clearly a blocker for
4.4 so the patch should go in if it is correct.  I have checked that
it seems to fix the problem for me.

Patches 2 and 3 are other theoretical locking bugs I discovered while
looking for the cause of the pygrub deadlock.  I haven't tried to
construct test cases that might exercise these bugs; doing so would be
quite difficult.

The atfork carefd race (patch 2) might be relevant to callers which
are multithreaded and also call libxl_postfork_child_noexec.  libvirt
does not make any such call.  xl is single-threaded.  I haven't
investigated other toolstacks, but the race is theoretical rather than
observed.

The carefd lock leak (patch 3) is obvious but theoretical except in
deeply pathological situations.  I don't think it's worth adding risk
to 4.4 to fix it.

So I think patch 1 should go into 4.4.0 after review.
2-3 should wait for 4.4.1 (coming via unstable in the usual way).

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2014-04-04 15:06 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-24 14:19 [PATCH 0/3] libxl: Fix deadlock with pygrub Ian Jackson
2014-02-24 14:19 ` [PATCH 1/3] libxl: Fix libxl_postfork_child_noexec deadlock etc Ian Jackson
2014-02-24 14:45   ` Ian Campbell
2014-02-24 14:53     ` M A Young
2014-02-24 14:55       ` Ian Campbell
2014-02-24 15:26       ` [PATCH] tools/console: reset tty when xenconsole fails Ian Jackson
2014-02-24 15:42         ` Ian Campbell
2014-02-24 16:17         ` George Dunlap
2014-02-24 15:17   ` [PATCH 1/3] libxl: Fix libxl_postfork_child_noexec deadlock etc George Dunlap
2014-02-24 15:47     ` George Dunlap
2014-02-24 15:49       ` George Dunlap
2014-02-25  5:17         ` Jim Fehlig
2014-02-25 13:32           ` Ian Jackson
2014-02-27 17:05           ` Jim Fehlig
2014-02-27 17:08             ` George Dunlap
2014-02-24 15:56     ` Ian Jackson
2014-02-24 16:28       ` George Dunlap
2014-02-24 17:09         ` Ian Jackson
2014-02-24 14:19 ` [PATCH 2/3] libxl: Hold the atfork lock while closing carefd Ian Jackson
2014-02-24 14:47   ` Ian Campbell
2014-02-24 14:19 ` [PATCH 3/3] libxl: Fix carefd lock leak in save callout Ian Jackson
2014-02-24 14:48   ` Ian Campbell
2014-02-24 14:49 ` [PATCH 0/3] libxl: Fix deadlock with pygrub Ian Campbell
2014-04-04 15:06   ` Ian Jackson
2014-03-13 13:59 ` Ian Campbell
2014-03-13 18:09   ` Ian Jackson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.