On Thu, Mar 24, 2022 at 2:33 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > On Thu, Mar 24, 2022 at 02:09:09PM -0700, Axel Rasmussen wrote: > > This patch avoids the panic by implementing a custom setattr for > > memfd_secret, which detects resizes specifically (setting the size for > > the first time works just fine, since there are no existing pages to try > > to zero), and rejects them as not supported (ENOTSUP). > > Isn't ENOTTY the normal return value for this? Or even ENOSYS? I'm unsure. Since errno(3) says ENOTTY means "Inappropriate I/O control operation" that makes me think it's meant to be used only for ioctls? I tried ENOSYS, but checkpatch warns me it's meant to be used for "invalid syscall nr" and nothing else. ENOTSUP / ENOTSUPP / EOPNOTSUPP all have their own share of weirdnesses too, though. There's the whole ENOTSUP / ENOTSUPP mess, and then also the fact that glibc says ENOTSUP == EOPNOTSUPP, whereas POSIX says EOPNOTSUPP should be distinct and used specifically for sockets...