Re: [PATCH] vfs: fix linkat error for unprivileged AT_EMPTY_PATH

From: Miklos Szeredi
Date: Thu Sep 25 2014 - 10:31:28 EST


On Wed, Sep 24, 2014 at 9:00 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> On Wed, Sep 24, 2014 at 05:25:23PM +0200, Miklos Szeredi wrote:
>> From: Miklos Szeredi <mszeredi@xxxxxxx>
>>
>> Return proper error value for linkat(..., AT_EMPTY_PATH) without enough
>> privileges.
>>
>> I guess ENOENT was used here, because without AT_EMPTY_PATH that's what
>> we'd return for an empty path. But it is wrong for AT_EMPTY_PATH, since we
>> might not even be passing an empty path, we are simply complaining about
>> lack of privs for which EPERM is the proper error.
>
> Umm... Are you sure that nothing in userland is checking for that
> return value? I agree that EPERM would make more sense, but...

How could I be sure?

But does it even make sense to check for that error value? I don't
think it is, since we have never allowed unprivileged AT_EMPTY_PATH
for linkat (except by bb2314b4799649 which was reverted before being
included in a release).

So if when (if ever) we do allow that, *then* testing for an error
value will make sense. But surely if one is writing code which can't
even be tested, then it won't come as a big surprise if it will
eventually fail...

Thanks,
Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/