The semantical change regarding vmap*(), get_free_page*() is unfortunate, as now all callers need to take care of (and be audited to actually do so!) to test for MAP_FAILED before trying to access the returned pointer. :/
The NULL pointer test was much more intuitive.... Can't we special case where we want to really map address zero? Like, by passing yet another flag MAP_NULL.
Or, to make users more aware, change the return value to int to represent an error code only and return va as an output parameter?
Ok, I went with a shortcut and a middle ground. Since the mapping of NULL va is not used as of now and should be very rare, hopefully it would suffice.
Ok, I went with a shortcut and a middle ground. Since the mapping of NULL va is not used as of now and should be very rare, hopefully it would suffice.