Re: Unchecked flags in statx(2) [Should be fixed before 4.11-final?]
From: David Howells
Date: Fri Apr 21 2017 - 08:47:31 EST
David Howells <dhowells@xxxxxxxxxx> wrote:
> > Similarly, there appears to be no check for invalid flags in the
> > 'flags' argument of statx(). Why is there also not such a check
> > there?
>
> Like this?
>
> if (mask & STATX__RESERVED)
> return -EINVAL;
Sorry, I misread. You referred to flags, not mask. There's this in
sys_statx:
if ((flags & AT_STATX_SYNC_TYPE) == AT_STATX_SYNC_TYPE)
return -EINVAL;
this in vfs_statx:
if ((flags & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT |
AT_EMPTY_PATH | KSTAT_QUERY_FLAGS)) != 0)
return -EINVAL;
and this in vfs_statx_fd:
if (query_flags & ~KSTAT_QUERY_FLAGS)
return -EINVAL;
I don't necessarily agree with that last one, but other people think it should
be there.
David