aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabian Frederick <fabf@skynet.be>2014-04-03 17:48:25 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-03 19:21:05 -0400
commit6af9f7bf3c399e0ab1eee048e13572c6d4e15fe9 (patch)
tree1d298fe98692134505d10f2d4d7fc0f9c6494ad1
parente3a0cfdc8c8904236f91a506c1e760b0d60dd918 (diff)
sys_sysfs: Add CONFIG_SYSFS_SYSCALL
sys_sysfs is an obsolete system call no longer supported by libc. - This patch adds a default CONFIG_SYSFS_SYSCALL=y - Option can be turned off in expert mode. - cond_syscall added to kernel/sys_ni.c [akpm@linux-foundation.org: tweak Kconfig help text] Signed-off-by: Fabian Frederick <fabf@skynet.be> Cc: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/filesystems.c2
-rw-r--r--init/Kconfig10
-rw-r--r--kernel/sys_ni.c1
3 files changed, 13 insertions, 0 deletions
diff --git a/fs/filesystems.c b/fs/filesystems.c
index 92567d95ba6a..5797d45a78cb 100644
--- a/fs/filesystems.c
+++ b/fs/filesystems.c
@@ -121,6 +121,7 @@ int unregister_filesystem(struct file_system_type * fs)
121 121
122EXPORT_SYMBOL(unregister_filesystem); 122EXPORT_SYMBOL(unregister_filesystem);
123 123
124#ifdef CONFIG_SYSFS_SYSCALL
124static int fs_index(const char __user * __name) 125static int fs_index(const char __user * __name)
125{ 126{
126 struct file_system_type * tmp; 127 struct file_system_type * tmp;
@@ -199,6 +200,7 @@ SYSCALL_DEFINE3(sysfs, int, option, unsigned long, arg1, unsigned long, arg2)
199 } 200 }
200 return retval; 201 return retval;
201} 202}
203#endif
202 204
203int __init get_filesystem_list(char *buf) 205int __init get_filesystem_list(char *buf)
204{ 206{
diff --git a/init/Kconfig b/init/Kconfig
index d56cb03c1b49..e45cc62904b3 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1290,6 +1290,16 @@ config UID16
1290 help 1290 help
1291 This enables the legacy 16-bit UID syscall wrappers. 1291 This enables the legacy 16-bit UID syscall wrappers.
1292 1292
1293config SYSFS_SYSCALL
1294 bool "Sysfs syscall support" if EXPERT
1295 default y
1296 ---help---
1297 sys_sysfs is an obsolete system call no longer supported in libc.
1298 Note that disabling this option is more secure but might break
1299 compatibility with some systems.
1300
1301 If unsure say Y here.
1302
1293config SYSCTL_SYSCALL 1303config SYSCTL_SYSCALL
1294 bool "Sysctl syscall support" if EXPERT 1304 bool "Sysctl syscall support" if EXPERT
1295 depends on PROC_SYSCTL 1305 depends on PROC_SYSCTL
diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c
index 7078052284fd..74395a95b7e9 100644
--- a/kernel/sys_ni.c
+++ b/kernel/sys_ni.c
@@ -146,6 +146,7 @@ cond_syscall(sys_io_destroy);
146cond_syscall(sys_io_submit); 146cond_syscall(sys_io_submit);
147cond_syscall(sys_io_cancel); 147cond_syscall(sys_io_cancel);
148cond_syscall(sys_io_getevents); 148cond_syscall(sys_io_getevents);
149cond_syscall(sys_sysfs);
149cond_syscall(sys_syslog); 150cond_syscall(sys_syslog);
150cond_syscall(sys_process_vm_readv); 151cond_syscall(sys_process_vm_readv);
151cond_syscall(sys_process_vm_writev); 152cond_syscall(sys_process_vm_writev);