linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Unchecked flags in statx(2) [Should be fixed before 4.11-final?]
@ 2017-04-21 12:14 Michael Kerrisk (man-pages)
  2017-04-21 12:28 ` Michael Kerrisk (man-pages)
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Michael Kerrisk (man-pages) @ 2017-04-21 12:14 UTC (permalink / raw)
  To: David Howells; +Cc: mtk.manpages, lkml, linux-fsdevel, hch

Hello David,

 I was reading your statx(2) man page, and noticed this text:

       Do not simply set mask to UINT_MAX as one or more bits may, in the
       future, be used to specify an extension to the buffer.

(Here' 'mask' is the fourth argument to statx())

What is going on here? Why is there  not a check in the code to
give EINVAL if any flag other than those in STATX_ALL (0x00000fffU)
is specified? (There is a check that gives EINVAL flags in 
STATX__RESERVED (0x80000000U), but STATX_ALL != ~STATX__RESERVED.

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?

The failure to do these sorts of checks has been the source of grief 
in the past with other system calls.

Cheers,

Michael


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-04-21 19:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-21 12:14 Unchecked flags in statx(2) [Should be fixed before 4.11-final?] Michael Kerrisk (man-pages)
2017-04-21 12:28 ` Michael Kerrisk (man-pages)
2017-04-21 12:41 ` David Howells
2017-04-21 12:47 ` David Howells
2017-04-21 13:01 ` David Howells
2017-04-21 13:13   ` Michael Kerrisk (man-pages)
2017-04-21 18:16     ` Andreas Dilger
2017-04-21 19:19       ` Michael Kerrisk (man-pages)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).