uevent: send events in correct order according to seqnum (v3)
authorAndrew Vagin <avagin@openvz.org>
Wed, 7 Mar 2012 10:49:56 +0000 (14:49 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Mar 2012 20:56:40 +0000 (12:56 -0800)
commit7b60a18da393ed70db043a777fd9e6d5363077c4
treecf83f1b5fdd5b7fab96c256f40db877112b277fe
parent8b0372a258e6bd0e9e5ea3f3d5f05a6bf3972fee
uevent: send events in correct order according to seqnum (v3)

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>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/kobject_uevent.c