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/

Reply via email to