Re: I.1 - System calls - ioctl

Arnd Bergmann
2009-06-22T17:42:51Z

On Monday 22 June 2009, Ingo Molnar wrote:
> There is another, more theoretical argument in favor of
> sys_perf_counter_chattr(): it is quite conceivable that as usage of
> perfcounters expands we want to change more and more attributes. So
> even though right now the ioctl just about manages to serve this
> role, it would be more future-proof to use sys_perf_counter_chattr()
> and deprecate the ioctl() straight away - to not even leave a
> chance for some ioctl crap to seep into the API.
>
> So ... we are on two minds about this, and if people dont mind a
> second syscall entry, we are glad to add it.

I think adding one or more system calls is definitely worth it
if that means getting rid of the ioctl interface here. While I
don't generally mind adding ioctl calls, I would much prefer to
restrict their use to device files, sockets and to the existing
cases for regular files.

Conceptually, ioctl is a different class of interface from the
'new system call' case, in a number of ways. For new subsystems
I would just never mix them by allowing ioctl on something that
was not returned by open() or socket().