uevent: send events in correct order according to seqnum (v3)
commit377c2f4aa985f937d77a6bb9b938b4deda2dc282
authorAndrew Vagin <avagin@openvz.org>
Wed, 7 Mar 2012 10:49:56 +0000 (7 14:49 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Apr 2012 16:27:09 +0000 (2 09:27 -0700)
treeeda5f5a602c6072e5d083d0c794401b9c55b5db3
parentd16d493a1c1079e4e065ee6070b2413add846719
uevent: send events in correct order according to seqnum (v3)

commit 7b60a18da393ed70db043a777fd9e6d5363077c4 upstream.

The queue handling in the udev daemon assumes that the events are
ordered.

Before this patch uevent_seqnum is incremented under sequence_lock,
than an event is send uner uevent_sock_mutex. I want to say that code
contained a window between incrementing seqnum and sending an event.

This patch locks uevent_sock_mutex before incrementing uevent_seqnum.

v2: delete sequence_lock, uevent_seqnum is protected by uevent_sock_mutex
v3: unlock the mutex before the goto exit

Thanks for Kay for the comments.

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Tested-By: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/kobject_uevent.c