I find it ironic that Linus’s explanation for ENOENT being invalid for an ioctl given its meaning of “No such file or directory”, while simultaneously ioctl can return ENOTTY when using a mismatched device fd despite the error meaning “Not a typewriter.”