Re: [PATCH] vsock: ratelimit unknown ioctl error message

From: Stefano Garzarella
Date: Mon Oct 26 2020 - 06:02:16 EST


On Mon, Oct 26, 2020 at 09:46:17AM +0000, David Laight wrote:
From: Stefano Garzarella
Sent: 26 October 2020 09:39

On Mon, Oct 26, 2020 at 09:13:23AM +0000, David Laight wrote:
>From: Stefano Garzarella
>> Sent: 26 October 2020 08:43
>...
>> >Isn't the canonical error for unknown ioctl codes -ENOTTY?
>> >
>>
>> Oh, thanks for pointing that out!
>>
>> I had not paid attention to the error returned, but looking at it I
>> noticed that perhaps the most appropriate would be -ENOIOCTLCMD.
>> In the ioctl syscall we return -ENOTTY, if the callback returns
>> -ENOIOCTLCMD.
>>
>> What do you think?
>
>It is 729 v 443 in favour of ENOTTY (based on grep).

Under net/ it is 6 vs 83 in favour of ENOIOCTLCMD.

>
>No idea where ENOIOCTLCMD comes from, but ENOTTY probably
>goes back to the early 1970s.

Me too.

>
>The fact that the ioctl wrapper converts the value is a good
>hint that userspace expects ENOTTY.

Agree on that, but since we are not interfacing directly with userspace,
I think it is better to return the more specific error (ENOIOCTLCMD).

I bet Linux thought it could use a different error code then
found that 'unknown ioctl' was spelt ENOTTY.

It could be :-)

Anyway, as you pointed out, I think we should change the -EINVAL with -ENOTTY or -ENOIOCTLCMD.

@Jakub what do you suggest?

Thanks,
Stefano