On Wed, 12 Feb 2014 13:13:14 -0800 Andrew Morton <[email protected]> wrote:
> On Wed, 12 Feb 2014 21:04:40 +0800 Fabian Frederick <[email protected]> wrote: > > > fs: sysfs syscall: Disable if DISABLE_OBSOLETE_SYSCALLS > > > > sysfs syscall is obsolete (cf man sysfs). > > > > Don't define fs_index, fs_name, fs_maxindex functions when > > DISABLE_OBSOLETE_SYSCALLS is defined. > > In that case, SYSCALL_DEFINE3(sysfs...) returns automatically -EINVAL. > > > > Are there any other syscalls which will fall under > CONFIG_DISABLE_OBSOLETE_SYSCALLS? > > There are plenty of other syscalls which can be disabled via Kconfig. > As far as I recall, they each use their own CONFIG_foo. > > So I'm thinking it would be better to add a CONFIG_SYS_SYSFS or > whatever which enables this syscall only. It defaults to y. I thought it would be interesting to directly disable all of its but honestly I don't know if there are a lot so your solution seems interesting :) Thanks for your help ! > > > --- a/fs/filesystems.c > > +++ b/fs/filesystems.c > > @@ -121,6 +121,7 @@ int unregister_filesystem(struct file_system_type * fs) > > > > EXPORT_SYMBOL(unregister_filesystem); > > > > +#ifndef CONFIG_DISABLE_OBSOLETE_SYSCALLS > > static int fs_index(const char __user * __name) > > { > > struct file_system_type * tmp; > > @@ -199,6 +200,12 @@ SYSCALL_DEFINE3(sysfs, int, option, unsigned long, > > arg1, unsigned long, arg2) > > } > > return retval; > > } > > +#else > > +SYSCALL_DEFINE3(sysfs, int, option, unsigned long, arg1, unsigned long, > > arg2) > > +{ > > + return -EINVAL; > > +} > > +#endif /*CONFIG_DISABLE_OBSOLETE_SYSCALLS*/ > > And this should be done in kernel/sys_ni.c along with all the others. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

