Messages in this thread | | | From | Kay Sievers <> | Date | Tue, 6 Mar 2012 22:03:05 +0100 | Subject | Re: [PATCH] uevent: send events in correct order according to seqnum |
| |
On Tue, Mar 6, 2012 at 21:06, Andrew Vagin <avagin@openvz.org> wrote: > > 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.
I think we can remove the spin_lock(&sequence_lock); entirely now, right?
Also the section with: seq = ++uevent_seqnum; can just be: add_uevent_var(env, "SEQNUM=%llu", (unsigned long long) ++uevent_seqnum); right?
And the: mutex_lock(&uevent_sock_mutex); can just move outside of the _NET ifdef and we always use the mutex instead of the spinlock?
That could look much simpler than the current code, I think.
Thanks, Kay
| |