History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: fix setattr error handling in sysfs, configfs kobject: free memory if netlink_kernel_create() fails lib/kobject_uevent.c: fix CONIG_NET=n warning

Linus Torvalds committed 16 years ago

Commit f9196e72 parents bf4282c 75de46b3 files · +11 −7Browse files

Unified · Split

3 files
  1. fs/configfs/inode.c +4 −5
  2. fs/sysfs/inode.c +4 −2
  3. lib/kobject_uevent.c +3 −0
fs/configfs/inode.c+4−5
@@ -72,10 +72,6 @@ int configfs_setattr(struct dentry * dentry, struct iattr * iattr) · 71 unmodified lines
72 if (!sd)72 if (!sd)
73 return -EINVAL;73 return -EINVAL;
74 74
75 error = simple_setattr(dentry, iattr);
76 if (error)
77 return error;
78
79 sd_iattr = sd->s_iattr;75 sd_iattr = sd->s_iattr;
80 if (!sd_iattr) {76 if (!sd_iattr) {
81 /* setting attributes for the first time, allocate now */77 /* setting attributes for the first time, allocate now */
@@ -89,9 +85,12 @@ int configfs_setattr(struct dentry * dentry, struct iattr * iattr) · 7 unmodified lines
89 sd_iattr->ia_atime = sd_iattr->ia_mtime = sd_iattr->ia_ctime = CURRENT_TIME;85 sd_iattr->ia_atime = sd_iattr->ia_mtime = sd_iattr->ia_ctime = CURRENT_TIME;
90 sd->s_iattr = sd_iattr;86 sd->s_iattr = sd_iattr;
91 }87 }
92
93 /* attributes were changed atleast once in past */88 /* attributes were changed atleast once in past */
94 89
90 error = simple_setattr(dentry, iattr);
91 if (error)
92 return error;
93
95 if (ia_valid & ATTR_UID)94 if (ia_valid & ATTR_UID)
96 sd_iattr->ia_uid = iattr->ia_uid;95 sd_iattr->ia_uid = iattr->ia_uid;
97 if (ia_valid & ATTR_GID)96 if (ia_valid & ATTR_GID)
fs/sysfs/inode.c+4−2
@@ -117,11 +117,13 @@ int sysfs_setattr(struct dentry *dentry, struct iattr *iattr) · 116 unmodified lines
117 if (error)117 if (error)
118 goto out;118 goto out;
119 119
120 error = sysfs_sd_setattr(sd, iattr);
121 if (error)
122 goto out;
123
120 /* this ignores size changes */124 /* this ignores size changes */
121 generic_setattr(inode, iattr);125 generic_setattr(inode, iattr);
122 126
123 error = sysfs_sd_setattr(sd, iattr);
124
125out:127out:
126 mutex_unlock(&sysfs_mutex);128 mutex_unlock(&sysfs_mutex);
127 return error;129 return error;
lib/kobject_uevent.c+3−0
@@ -83,6 +83,7 @@ out: · 82 unmodified lines
83 return ret;83 return ret;
84}84}
85 85
86#ifdef CONFIG_NET
86static int kobj_bcast_filter(struct sock *dsk, struct sk_buff *skb, void *data)87static int kobj_bcast_filter(struct sock *dsk, struct sk_buff *skb, void *data)
87{88{
88 struct kobject *kobj = data;89 struct kobject *kobj = data;
@@ -98,6 +99,7 @@ static int kobj_bcast_filter(struct sock *dsk, struct sk_buff *skb, void *data) · 9 unmodified lines
98 99
99 return 0;100 return 0;
100}101}
102#endif
101 103
102static int kobj_usermode_filter(struct kobject *kobj)104static int kobj_usermode_filter(struct kobject *kobj)
103{105{
@@ -378,6 +380,7 @@ static int uevent_net_init(struct net *net) · 274 unmodified lines
378 if (!ue_sk->sk) {380 if (!ue_sk->sk) {
379 printk(KERN_ERR381 printk(KERN_ERR
380 "kobject_uevent: unable to create netlink socket!\n");382 "kobject_uevent: unable to create netlink socket!\n");
383 kfree(ue_sk);
381 return -ENODEV;384 return -ENODEV;
382 }385 }
383 mutex_lock(&uevent_sock_mutex);386 mutex_lock(&uevent_sock_mutex);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t