diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-05-27 15:01:09 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2012-05-27 15:01:09 +0000 |
commit | de4c4d35e17830170dba6aa1b3b025d93a7b3302 (patch) | |
tree | c57b3c28c8453826a6abcef3f83b80d72f732253 /target/linux/generic/patches-3.1/911-kobject_add_broadcast_uevent.patch | |
parent | cead4b47abdebcb8506451b4a3e30028982161a1 (diff) | |
download | upstream-de4c4d35e17830170dba6aa1b3b025d93a7b3302.tar.gz upstream-de4c4d35e17830170dba6aa1b3b025d93a7b3302.tar.bz2 upstream-de4c4d35e17830170dba6aa1b3b025d93a7b3302.zip |
linux/3.1: R.I.P.
SVN-Revision: 31891
Diffstat (limited to 'target/linux/generic/patches-3.1/911-kobject_add_broadcast_uevent.patch')
-rw-r--r-- | target/linux/generic/patches-3.1/911-kobject_add_broadcast_uevent.patch | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/target/linux/generic/patches-3.1/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/patches-3.1/911-kobject_add_broadcast_uevent.patch deleted file mode 100644 index a428ec5cd1..0000000000 --- a/target/linux/generic/patches-3.1/911-kobject_add_broadcast_uevent.patch +++ /dev/null @@ -1,85 +0,0 @@ ---- a/include/linux/kobject.h -+++ b/include/linux/kobject.h -@@ -31,6 +31,8 @@ - #define UEVENT_NUM_ENVP 32 /* number of env pointers */ - #define UEVENT_BUFFER_SIZE 2048 /* buffer for the variables */ - -+struct sk_buff; -+ - /* path to the userspace helper executed on an event */ - extern char uevent_helper[]; - -@@ -217,6 +219,10 @@ int add_uevent_var(struct kobj_uevent_en - - int kobject_action_type(const char *buf, size_t count, - enum kobject_action *type); -+ -+int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group, -+ gfp_t allocation); -+ - #else - static inline int kobject_uevent(struct kobject *kobj, - enum kobject_action action) -@@ -233,6 +239,16 @@ int add_uevent_var(struct kobj_uevent_en - static inline int kobject_action_type(const char *buf, size_t count, - enum kobject_action *type) - { return -EINVAL; } -+ -+void kfree_skb(struct sk_buff *); -+ -+static inline int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group, -+ gfp_t allocation) -+{ -+ kfree_skb(skb); -+ return 0; -+} -+ - #endif - - #endif /* _KOBJECT_H_ */ ---- a/lib/kobject_uevent.c -+++ b/lib/kobject_uevent.c -@@ -377,6 +377,43 @@ int add_uevent_var(struct kobj_uevent_en - EXPORT_SYMBOL_GPL(add_uevent_var); - - #if defined(CONFIG_NET) -+int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group, -+ gfp_t allocation) -+{ -+ struct uevent_sock *ue_sk; -+ int err = 0; -+ -+ /* send netlink message */ -+ mutex_lock(&uevent_sock_mutex); -+ list_for_each_entry(ue_sk, &uevent_sock_list, list) { -+ struct sock *uevent_sock = ue_sk->sk; -+ struct sk_buff *skb2; -+ -+ skb2 = skb_clone(skb, allocation); -+ if (!skb2) -+ break; -+ -+ err = netlink_broadcast(uevent_sock, skb2, pid, group, -+ allocation); -+ if (err) -+ break; -+ } -+ mutex_unlock(&uevent_sock_mutex); -+ -+ kfree_skb(skb); -+ return err; -+} -+#else -+int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group, -+ gfp_t allocation) -+{ -+ kfree_skb(skb); -+ return 0; -+} -+#endif -+EXPORT_SYMBOL_GPL(broadcast_uevent); -+ -+#if defined(CONFIG_NET) - static int uevent_net_init(struct net *net) - { - struct uevent_sock *ue_sk; |