Re: [PATCH] mm/secretmem: fix panic when growing a memfd_secret

From: Andrew Morton
Date: Thu Apr 07 2022 - 16:52:41 EST


On Thu, 31 Mar 2022 10:42:12 -0700 Axel Rasmussen <axelrasmussen@xxxxxxxxxx> wrote:

> Any strong opinions on which error code is used? I think overall I
> would still pick EOPNOTSUPP, but happy to change it if anyone feels
> strongly.
>
> - I think ENOSYS is specific to syscall nr not defined
> - I think ENOTTY is specific to ioctls
> - The kernel (sort of mistakenly) defines ENOTSUPP instead of ENOTSUP,
> but it's marked deprecated and it's recommended to use EOPNOTSUPP
> instead (despite POSIX saying these should be distinct and for
> different uses).

`man ftruncate' sayeth

EINVAL The argument length is negative or larger than the maximum file
size.

which reasonably accurately describes what we're doing here?

+ if ((ia_valid & ATTR_SIZE) && inode->i_size)
+ return -EOPNOTSUPP;