aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-07-25 15:53:15 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-07-25 15:53:15 -0400
commit0003230e8200699860f0b10af524dc47bf8aecad (patch)
tree8addb0c889b32111d6973c46cd3d0a5b5c17606c /drivers
parent4b478cedcdc1b2d131170f22bd3f916e53472f52 (diff)
parent4e34e719e457f2e031297175410fc0bd4016a085 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: fs: take the ACL checks to common code bury posix_acl_..._masq() variants kill boilerplates around posix_acl_create_masq() generic_acl: no need to clone acl just to push it to set_cached_acl() kill boilerplate around posix_acl_chmod_masq() reiserfs: cache negative ACLs for v1 stat format xfs: cache negative ACLs if there is no attribute fork 9p: do no return 0 from ->check_acl without actually checking vfs: move ACL cache lookup into generic code CIFS: Fix oops while mounting with prefixpath xfs: Fix wrong return value of xfs_file_aio_write fix devtmpfs race caam: don't pass bogus S_IFCHR to debugfs_create_...() get rid of create_proc_entry() abuses - proc_mkdir() is there for purpose asus-wmi: ->is_visible() can't return negative fix jffs2 ACLs on big-endian with 16bit mode_t 9p: close ACL leaks ocfs2_init_acl(): fix a leak VFS : mount lock scalability for internal mounts
Diffstat (limited to 'drivers')
-rw-r--r--drivers/base/devtmpfs.c3
-rw-r--r--drivers/crypto/caam/ctrl.c26
-rw-r--r--drivers/mtd/mtdchar.c2
-rw-r--r--drivers/platform/x86/asus-wmi.c2
-rw-r--r--drivers/staging/rtl8187se/r8180_core.c2
-rw-r--r--drivers/staging/rtl8192e/ieee80211/ieee80211_module.c2
-rw-r--r--drivers/staging/rtl8192e/r8192E_core.c6
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_module.c2
-rw-r--r--drivers/staging/rtl8192u/r8192U_core.c6
9 files changed, 24 insertions, 27 deletions
diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
index 6d678c99512e..b89fffc1d777 100644
--- a/drivers/base/devtmpfs.c
+++ b/drivers/base/devtmpfs.c
@@ -406,9 +406,10 @@ static int devtmpfsd(void *p)
406 requests = NULL; 406 requests = NULL;
407 spin_unlock(&req_lock); 407 spin_unlock(&req_lock);
408 while (req) { 408 while (req) {
409 struct req *next = req->next;
409 req->err = handle(req->name, req->mode, req->dev); 410 req->err = handle(req->name, req->mode, req->dev);
410 complete(&req->done); 411 complete(&req->done);
411 req = req->next; 412 req = next;
412 } 413 }
413 spin_lock(&req_lock); 414 spin_lock(&req_lock);
414 } 415 }
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c
index fc2d9ed22470..73988bb7322a 100644
--- a/drivers/crypto/caam/ctrl.c
+++ b/drivers/crypto/caam/ctrl.c
@@ -166,52 +166,52 @@ static int caam_probe(struct platform_device *pdev)
166 /* Controller-level - performance monitor counters */ 166 /* Controller-level - performance monitor counters */
167 ctrlpriv->ctl_rq_dequeued = 167 ctrlpriv->ctl_rq_dequeued =
168 debugfs_create_u64("rq_dequeued", 168 debugfs_create_u64("rq_dequeued",
169 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 169 S_IRUSR | S_IRGRP | S_IROTH,
170 ctrlpriv->ctl, &perfmon->req_dequeued); 170 ctrlpriv->ctl, &perfmon->req_dequeued);
171 ctrlpriv->ctl_ob_enc_req = 171 ctrlpriv->ctl_ob_enc_req =
172 debugfs_create_u64("ob_rq_encrypted", 172 debugfs_create_u64("ob_rq_encrypted",
173 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 173 S_IRUSR | S_IRGRP | S_IROTH,
174 ctrlpriv->ctl, &perfmon->ob_enc_req); 174 ctrlpriv->ctl, &perfmon->ob_enc_req);
175 ctrlpriv->ctl_ib_dec_req = 175 ctrlpriv->ctl_ib_dec_req =
176 debugfs_create_u64("ib_rq_decrypted", 176 debugfs_create_u64("ib_rq_decrypted",
177 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 177 S_IRUSR | S_IRGRP | S_IROTH,
178 ctrlpriv->ctl, &perfmon->ib_dec_req); 178 ctrlpriv->ctl, &perfmon->ib_dec_req);
179 ctrlpriv->ctl_ob_enc_bytes = 179 ctrlpriv->ctl_ob_enc_bytes =
180 debugfs_create_u64("ob_bytes_encrypted", 180 debugfs_create_u64("ob_bytes_encrypted",
181 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 181 S_IRUSR | S_IRGRP | S_IROTH,
182 ctrlpriv->ctl, &perfmon->ob_enc_bytes); 182 ctrlpriv->ctl, &perfmon->ob_enc_bytes);
183 ctrlpriv->ctl_ob_prot_bytes = 183 ctrlpriv->ctl_ob_prot_bytes =
184 debugfs_create_u64("ob_bytes_protected", 184 debugfs_create_u64("ob_bytes_protected",
185 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 185 S_IRUSR | S_IRGRP | S_IROTH,
186 ctrlpriv->ctl, &perfmon->ob_prot_bytes); 186 ctrlpriv->ctl, &perfmon->ob_prot_bytes);
187 ctrlpriv->ctl_ib_dec_bytes = 187 ctrlpriv->ctl_ib_dec_bytes =
188 debugfs_create_u64("ib_bytes_decrypted", 188 debugfs_create_u64("ib_bytes_decrypted",
189 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 189 S_IRUSR | S_IRGRP | S_IROTH,
190 ctrlpriv->ctl, &perfmon->ib_dec_bytes); 190 ctrlpriv->ctl, &perfmon->ib_dec_bytes);
191 ctrlpriv->ctl_ib_valid_bytes = 191 ctrlpriv->ctl_ib_valid_bytes =
192 debugfs_create_u64("ib_bytes_validated", 192 debugfs_create_u64("ib_bytes_validated",
193 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 193 S_IRUSR | S_IRGRP | S_IROTH,
194 ctrlpriv->ctl, &perfmon->ib_valid_bytes); 194 ctrlpriv->ctl, &perfmon->ib_valid_bytes);
195 195
196 /* Controller level - global status values */ 196 /* Controller level - global status values */
197 ctrlpriv->ctl_faultaddr = 197 ctrlpriv->ctl_faultaddr =
198 debugfs_create_u64("fault_addr", 198 debugfs_create_u64("fault_addr",
199 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 199 S_IRUSR | S_IRGRP | S_IROTH,
200 ctrlpriv->ctl, &perfmon->faultaddr); 200 ctrlpriv->ctl, &perfmon->faultaddr);
201 ctrlpriv->ctl_faultdetail = 201 ctrlpriv->ctl_faultdetail =
202 debugfs_create_u32("fault_detail", 202 debugfs_create_u32("fault_detail",
203 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 203 S_IRUSR | S_IRGRP | S_IROTH,
204 ctrlpriv->ctl, &perfmon->faultdetail); 204 ctrlpriv->ctl, &perfmon->faultdetail);
205 ctrlpriv->ctl_faultstatus = 205 ctrlpriv->ctl_faultstatus =
206 debugfs_create_u32("fault_status", 206 debugfs_create_u32("fault_status",
207 S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, 207 S_IRUSR | S_IRGRP | S_IROTH,
208 ctrlpriv->ctl, &perfmon->status); 208 ctrlpriv->ctl, &perfmon->status);
209 209
210 /* Internal covering keys (useful in non-secure mode only) */ 210 /* Internal covering keys (useful in non-secure mode only) */
211 ctrlpriv->ctl_kek_wrap.data = &ctrlpriv->ctrl->kek[0]; 211 ctrlpriv->ctl_kek_wrap.data = &ctrlpriv->ctrl->kek[0];
212 ctrlpriv->ctl_kek_wrap.size = KEK_KEY_SIZE * sizeof(u32); 212 ctrlpriv->ctl_kek_wrap.size = KEK_KEY_SIZE * sizeof(u32);
213 ctrlpriv->ctl_kek = debugfs_create_blob("kek", 213 ctrlpriv->ctl_kek = debugfs_create_blob("kek",
214 S_IFCHR | S_IRUSR | 214 S_IRUSR |
215 S_IRGRP | S_IROTH, 215 S_IRGRP | S_IROTH,
216 ctrlpriv->ctl, 216 ctrlpriv->ctl,
217 &ctrlpriv->ctl_kek_wrap); 217 &ctrlpriv->ctl_kek_wrap);
@@ -219,7 +219,7 @@ static int caam_probe(struct platform_device *pdev)
219 ctrlpriv->ctl_tkek_wrap.data = &ctrlpriv->ctrl->tkek[0]; 219 ctrlpriv->ctl_tkek_wrap.data = &ctrlpriv->ctrl->tkek[0];
220 ctrlpriv->ctl_tkek_wrap.size = KEK_KEY_SIZE * sizeof(u32); 220 ctrlpriv->ctl_tkek_wrap.size = KEK_KEY_SIZE * sizeof(u32);
221 ctrlpriv->ctl_tkek = debugfs_create_blob("tkek", 221 ctrlpriv->ctl_tkek = debugfs_create_blob("tkek",
222 S_IFCHR | S_IRUSR | 222 S_IRUSR |
223 S_IRGRP | S_IROTH, 223 S_IRGRP | S_IROTH,
224 ctrlpriv->ctl, 224 ctrlpriv->ctl,
225 &ctrlpriv->ctl_tkek_wrap); 225 &ctrlpriv->ctl_tkek_wrap);
@@ -227,7 +227,7 @@ static int caam_probe(struct platform_device *pdev)
227 ctrlpriv->ctl_tdsk_wrap.data = &ctrlpriv->ctrl->tdsk[0]; 227 ctrlpriv->ctl_tdsk_wrap.data = &ctrlpriv->ctrl->tdsk[0];
228 ctrlpriv->ctl_tdsk_wrap.size = KEK_KEY_SIZE * sizeof(u32); 228 ctrlpriv->ctl_tdsk_wrap.size = KEK_KEY_SIZE * sizeof(u32);
229 ctrlpriv->ctl_tdsk = debugfs_create_blob("tdsk", 229 ctrlpriv->ctl_tdsk = debugfs_create_blob("tdsk",
230 S_IFCHR | S_IRUSR | 230 S_IRUSR |
231 S_IRGRP | S_IROTH, 231 S_IRGRP | S_IROTH,
232 ctrlpriv->ctl, 232 ctrlpriv->ctl,
233 &ctrlpriv->ctl_tdsk_wrap); 233 &ctrlpriv->ctl_tdsk_wrap);
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
index 3f92731a5b9e..f1af2228a1b1 100644
--- a/drivers/mtd/mtdchar.c
+++ b/drivers/mtd/mtdchar.c
@@ -1192,7 +1192,7 @@ err_unregister_chdev:
1192static void __exit cleanup_mtdchar(void) 1192static void __exit cleanup_mtdchar(void)
1193{ 1193{
1194 unregister_mtd_user(&mtdchar_notifier); 1194 unregister_mtd_user(&mtdchar_notifier);
1195 mntput(mtd_inode_mnt); 1195 kern_unmount(mtd_inode_mnt);
1196 unregister_filesystem(&mtd_inodefs_type); 1196 unregister_filesystem(&mtd_inodefs_type);
1197 __unregister_chrdev(MTD_CHAR_MAJOR, 0, 1 << MINORBITS, "mtd"); 1197 __unregister_chrdev(MTD_CHAR_MAJOR, 0, 1 << MINORBITS, "mtd");
1198} 1198}
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 3c7857c71a23..65b66aa44c78 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -857,7 +857,7 @@ static mode_t asus_hwmon_sysfs_is_visible(struct kobject *kobj,
857 int err = asus_wmi_get_devstate(asus, dev_id, &value); 857 int err = asus_wmi_get_devstate(asus, dev_id, &value);
858 858
859 if (err < 0) 859 if (err < 0)
860 return err; 860 return 0; /* can't return negative here */
861 } 861 }
862 862
863 if (dev_id == ASUS_WMI_DEVID_FAN_CTRL) { 863 if (dev_id == ASUS_WMI_DEVID_FAN_CTRL) {
diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c
index bae7d85fe831..4c6651aac307 100644
--- a/drivers/staging/rtl8187se/r8180_core.c
+++ b/drivers/staging/rtl8187se/r8180_core.c
@@ -307,7 +307,7 @@ static int proc_get_stats_tx(char *page, char **start,
307void rtl8180_proc_module_init(void) 307void rtl8180_proc_module_init(void)
308{ 308{
309 DMESG("Initializing proc filesystem"); 309 DMESG("Initializing proc filesystem");
310 rtl8180_proc = create_proc_entry(RTL8180_MODULE_NAME, S_IFDIR, init_net.proc_net); 310 rtl8180_proc = proc_mkdir(RTL8180_MODULE_NAME, init_net.proc_net);
311} 311}
312 312
313void rtl8180_proc_module_remove(void) 313void rtl8180_proc_module_remove(void)
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
index 663b0b8e1095..c2901b50dbfe 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
@@ -311,7 +311,7 @@ int __init ieee80211_rtl_init(void)
311 } 311 }
312 312
313 ieee80211_debug_level = debug; 313 ieee80211_debug_level = debug;
314 ieee80211_proc = create_proc_entry(DRV_NAME, S_IFDIR, init_net.proc_net); 314 ieee80211_proc = proc_mkdir(DRV_NAME, init_net.proc_net);
315 if (ieee80211_proc == NULL) { 315 if (ieee80211_proc == NULL) {
316 IEEE80211_ERROR("Unable to create " DRV_NAME 316 IEEE80211_ERROR("Unable to create " DRV_NAME
317 " proc directory\n"); 317 " proc directory\n");
diff --git a/drivers/staging/rtl8192e/r8192E_core.c b/drivers/staging/rtl8192e/r8192E_core.c
index 19a9a07224a2..8550794c6b91 100644
--- a/drivers/staging/rtl8192e/r8192E_core.c
+++ b/drivers/staging/rtl8192e/r8192E_core.c
@@ -508,7 +508,7 @@ static int proc_get_stats_rx(char *page, char **start,
508static void rtl8192_proc_module_init(void) 508static void rtl8192_proc_module_init(void)
509{ 509{
510 RT_TRACE(COMP_INIT, "Initializing proc filesystem\n"); 510 RT_TRACE(COMP_INIT, "Initializing proc filesystem\n");
511 rtl8192_proc=create_proc_entry(RTL819xE_MODULE_NAME, S_IFDIR, init_net.proc_net); 511 rtl8192_proc = proc_mkdir(RTL819xE_MODULE_NAME, init_net.proc_net);
512} 512}
513 513
514 514
@@ -540,9 +540,7 @@ static void rtl8192_proc_init_one(struct r8192_priv *priv)
540 struct net_device *dev = priv->ieee80211->dev; 540 struct net_device *dev = priv->ieee80211->dev;
541 struct proc_dir_entry *e; 541 struct proc_dir_entry *e;
542 542
543 priv->dir_dev = create_proc_entry(dev->name, 543 priv->dir_dev = proc_mkdir(dev->name, rtl8192_proc);
544 S_IFDIR | S_IRUGO | S_IXUGO,
545 rtl8192_proc);
546 if (!priv->dir_dev) { 544 if (!priv->dir_dev) {
547 RT_TRACE(COMP_ERR, "Unable to initialize /proc/net/rtl8192/%s\n", 545 RT_TRACE(COMP_ERR, "Unable to initialize /proc/net/rtl8192/%s\n",
548 dev->name); 546 dev->name);
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
index fe978f359f91..d315b256b7a7 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
@@ -283,7 +283,7 @@ int __init ieee80211_debug_init(void)
283 283
284 ieee80211_debug_level = debug; 284 ieee80211_debug_level = debug;
285 285
286 ieee80211_proc = create_proc_entry(DRV_NAME, S_IFDIR, init_net.proc_net); 286 ieee80211_proc = proc_mkdir(DRV_NAME, init_net.proc_net);
287 if (ieee80211_proc == NULL) { 287 if (ieee80211_proc == NULL) {
288 IEEE80211_ERROR("Unable to create " DRV_NAME 288 IEEE80211_ERROR("Unable to create " DRV_NAME
289 " proc directory\n"); 289 " proc directory\n");
diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c
index e81b8ab6aa9d..6a1b5c179027 100644
--- a/drivers/staging/rtl8192u/r8192U_core.c
+++ b/drivers/staging/rtl8192u/r8192U_core.c
@@ -671,7 +671,7 @@ static int proc_get_stats_rx(char *page, char **start,
671void rtl8192_proc_module_init(void) 671void rtl8192_proc_module_init(void)
672{ 672{
673 RT_TRACE(COMP_INIT, "Initializing proc filesystem"); 673 RT_TRACE(COMP_INIT, "Initializing proc filesystem");
674 rtl8192_proc=create_proc_entry(RTL819xU_MODULE_NAME, S_IFDIR, init_net.proc_net); 674 rtl8192_proc = proc_mkdir(RTL819xU_MODULE_NAME, init_net.proc_net);
675} 675}
676 676
677 677
@@ -706,9 +706,7 @@ void rtl8192_proc_init_one(struct net_device *dev)
706{ 706{
707 struct proc_dir_entry *e; 707 struct proc_dir_entry *e;
708 struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev); 708 struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
709 priv->dir_dev = create_proc_entry(dev->name, 709 priv->dir_dev = proc_mkdir(dev->name, rtl8192_proc);
710 S_IFDIR | S_IRUGO | S_IXUGO,
711 rtl8192_proc);
712 if (!priv->dir_dev) { 710 if (!priv->dir_dev) {
713 RT_TRACE(COMP_ERR, "Unable to initialize /proc/net/rtl8192/%s\n", 711 RT_TRACE(COMP_ERR, "Unable to initialize /proc/net/rtl8192/%s\n",
714 dev->name); 712 dev->name);