mmap(MAP_FIXED) may have already unmapped any underlying old area if an
error occurs.
And EFAULT may have strange behaviour for left-over stuff. If I remember
correctly, at some point, for example, EFAULT on a write to a TCP socket
(if the fault happened in the middle) would still send out the full-sized
packet zero-padded, because not doing so would have screwed up the state
machine.
(But EFAULT is a special case in general, it's documented to be undefined
behaviour).
I can't think of any others, but at least close() isn't _completely_
alone.
And as you say, we really cannot change it anyway, even if we wanted to
(which I'm personally convinced we do not).
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/