aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.7/911-kobject_add_broadcast_uevent.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.7/911-kobject_add_broadcast_uevent.patch')
-rw-r--r--target/linux/generic/patches-3.7/911-kobject_add_broadcast_uevent.patch85
1 files changed, 0 insertions, 85 deletions
diff --git a/target/linux/generic/patches-3.7/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/patches-3.7/911-kobject_add_broadcast_uevent.patch
deleted file mode 100644
index 7bc6d15d84..0000000000
--- a/target/linux/generic/patches-3.7/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[];
-
-@@ -213,6 +215,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)
-@@ -229,6 +235,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
-@@ -382,6 +382,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;