.TP
.B EINVAL
We don't like
-.I start
+.IR start ,
+.IR length ,
or
+.IR offset
+(e.g., they are too large, or not aligned on a page boundary).
+.TP
+.B EINVAL
+(since Linux 2.6.12),
.I length
+was 0.
+.TP
+.B EINVAL
+.I flags
+contained neither
+.B MAP_PRIVATE
or
-.IR offset .
-(E.g., they are too large, or not aligned on a page boundary.)
-.\" jbl - not sure this actually happens ? see generic_file_mmap
-.\" mtk: Before 2.6.12, a length of 0 was permitted: mmap() did
-.\" not create mapping, but just returned 'start'; since 2.6.12,
-.\" a length of 0 yields EINVAL (as required by POSIX.1-2001).
+.BR MAP_SHARED ,
+or contained both of these values.
.TP
.B ENFILE
.\" This is for shared anonymous segments