Re: [PATCH] uevent: send events in correct order according to seqnum
| Newsgroups | gmane.linux.hotplug.devel,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
On 03/07/2012 01:03 AM, Kay Sievers wrote: > On Tue, Mar 6, 2012 at 21:06, Andrew Vagin<[email protected]> 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? I thought about that too. sequence_lock is used when CONFIG_NET isn't defined. I've looked on this code one more time and we may leave only uevent_sock_mutex and use it even when CONFIG_NET isn't defined. Thanks for the comment. Greg, do you have other objections about this patch? > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html