>  [EFAULT]  foo points outside the process's allocated address space.
>
> But i don't really i like that.  The word "allocated" makes me wonder
> because it sounds too much like malloc(3) for my taste.
> Usually, pointers to automatic and to static objects are acceptable,
> too, and are those "allocated"?  Some might say they are not.
> Besides, "process's" looks awkward.

Disagree on your dislike of this wording.

A process has an address space, VM_MIN_ADDRESS to VM_MAXUSER_ADDRESS.
Parts of this are not mapped, because nothing has allocated backing
resources.  Allocation happens via stack growth, execve, shm, mmap, etc
etc etc etc.  Those are all methods for "allocating" within the
processes' address space.

Unallocated space generates EFAULT.

Addresses outside the VM_MIN_ADDRESS to VM_MAXUSER_ADDRESS range also
generate EFAULT, and this is because backing resources are not permitted
to be allocated there.  No allocation, thus EFAULT.

"allocated" is correct terminology, and it has nothing to do with
malloc.

I don't see how trying to mince words is going to help anyone.

Unifying all the varients into one form will be quite a task.
I don't know if this is the right form to use, but I don't like the
argument you made.

Reply via email to