Re: [PATCH v2 01/12] fs-verity: add a documentation file

From: Theodore Y. Ts'o
Date: Fri Dec 21 2018 - 11:28:34 EST


On Fri, Dec 21, 2018 at 07:53:54AM -0800, Matthew Wilcox wrote:
> In contrast to "we'll just fix it up later" (which usually applies
> to in-kernel interfaces), we have a policy of not breaking userspace,
> so accepting this interface means setting it in stone. We should get
> it right.

I'm not convinced it's a "fix", but my point is that if later on you
want to add extra complexity transforming

ioctl(fd, FS_IOC_ENABLE_VERITY);

so it does the equivalent of

ioctl(fd, FS_IOC_ENABLE_VERITY_NOW_WITH_EXTRA_USELESS_COMPLEXITY,
fd, sizeof_data, sizeof_verity_data);

it adds essentially no complexity to provide this backwards
compatibility. But if we need to implement
FS_IOC_ENABLE_VERITY_NOW_WITH_EXTRA_USELESS_COMPLEXITY *now*, we gain
nothing, other than pushing back when fsverity lands upstream. We'd
have to provide that backwards compatibility interface anyway, since
there are a lot of users for that existing interface.

So why?

- Ted