| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- --- a/lib/kobject_uevent.c
- +++ b/lib/kobject_uevent.c
- @@ -27,7 +27,8 @@ u64 uevent_seqnum;
- char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH;
- static DEFINE_SPINLOCK(sequence_lock);
- #if defined(CONFIG_NET)
- -static struct sock *uevent_sock;
- +struct sock *uevent_sock = NULL;
- +EXPORT_SYMBOL_GPL(uevent_sock);
- #endif
-
- /* the strings here must match the enum in include/linux/kobject.h */
- @@ -40,6 +41,18 @@ static const char *kobject_actions[] = {
- [KOBJ_OFFLINE] = "offline",
- };
-
- +u64 uevent_next_seqnum(void)
- +{
- + u64 seq;
- +
- + spin_lock(&sequence_lock);
- + seq = ++uevent_seqnum;
- + spin_unlock(&sequence_lock);
- +
- + return seq;
- +}
- +EXPORT_SYMBOL_GPL(uevent_next_seqnum);
- +
- /**
- * kobject_action_type - translate action string to numeric type
- *
- @@ -173,9 +186,7 @@ int kobject_uevent_env(struct kobject *k
- }
-
- /* we will send an event, so request a new sequence number */
- - spin_lock(&sequence_lock);
- - seq = ++uevent_seqnum;
- - spin_unlock(&sequence_lock);
- + seq = uevent_next_seqnum();
- retval = add_uevent_var(env, "SEQNUM=%llu", (unsigned long long)seq);
- if (retval)
- goto exit;
|