diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-04-16 18:31:21 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-04-16 18:31:21 +0000 |
commit | a1624421aeb492791e696230bc337daa3a836406 (patch) | |
tree | 7915ad510b30c21d3038ae4583f084915d57a1d9 /target/linux/generic/patches-2.6.37/223-kobject-add-broadcast_uevent.patch | |
parent | 3fa43f54a267f45e42be641945573450a0a419b8 (diff) | |
download | upstream-a1624421aeb492791e696230bc337daa3a836406.tar.gz upstream-a1624421aeb492791e696230bc337daa3a836406.tar.bz2 upstream-a1624421aeb492791e696230bc337daa3a836406.zip |
kernel: reorganize 2.6.37 patches
SVN-Revision: 26692
Diffstat (limited to 'target/linux/generic/patches-2.6.37/223-kobject-add-broadcast_uevent.patch')
-rw-r--r-- | target/linux/generic/patches-2.6.37/223-kobject-add-broadcast_uevent.patch | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/target/linux/generic/patches-2.6.37/223-kobject-add-broadcast_uevent.patch b/target/linux/generic/patches-2.6.37/223-kobject-add-broadcast_uevent.patch deleted file mode 100644 index 7b36ab6115..0000000000 --- a/target/linux/generic/patches-2.6.37/223-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[]; - -@@ -215,6 +217,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) -@@ -231,6 +237,16 @@ static inline int add_uevent_var(struct - 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; |