diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-18 20:10:51 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-18 20:10:51 +0000 |
commit | 2bb56acc0c06fea8bbcbeca7324ddf98682f057d (patch) | |
tree | 4f4d693fb40653de79a8107f7254d31eed9b3582 /target/linux/generic/patches-2.6.39/911-kobject_add_broadcast_uevent.patch | |
parent | 2afa505fd161000c879a842bb004539ba32ddd57 (diff) |
linux/2.6.39: R.I.P.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31808 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-2.6.39/911-kobject_add_broadcast_uevent.patch')
-rw-r--r-- | target/linux/generic/patches-2.6.39/911-kobject_add_broadcast_uevent.patch | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/target/linux/generic/patches-2.6.39/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/patches-2.6.39/911-kobject_add_broadcast_uevent.patch deleted file mode 100644 index a428ec5cd..000000000 --- a/target/linux/generic/patches-2.6.39/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; |