Defect Report concerning: IEEE Std. 1003.1-1996, ISO/IEC 9945-1:1996 - C API
Clause: 12.2.3.2 , 12.2.1.2, p272 l220, p278 l416
PASC Interpretation Ref: pasc-1003.1-115
Topic: mprotect v mmap


This is an unapproved interpretation of PASC 1003.1-1996, ISO/IEC 9945-1:1996 - C API.

Use of the information contained in this unapproved document is at your own risk.

Last update: 10 April,2001


								1003.1-96  #115

 _____________________________________________________________________________

	Interpretation Number:	XXXX
	Topic:			mprotect v mmap
	Relevant Sections:	12.2.3.2 , 12.2.1.2, p272 l220, p278 l416



PASC Interpretation Request: (Defect Report)
----------------------------  

        Date: 2000 June 16
	Ref: XSH 408


------------------------------------------------------------------------ 

 7  Defect Report concerning (number and title of International Standard
    or DIS final text, if applicable): 

IEEE Std 1003.1-1996 (incorporates 1003.1-1990, 1003.1b-1993, 1003.1c-1995,
1003.1i-1995) (ISO 9945-1:1996)

  --- and as amended by .1a, .1d and .1j.
------------------------------------------------------------------------ 

 8  Qualifier (e.g. error, omission, clarification required):

3

Error=1 , Omission=2, Clarification=3

------------------------------------------------------------------------ 

 9  References in document (e.g. page, clause, figure, and/or table
    numbers):

I don't have the various as-amended copies available, but in the
Austin Group draft, where they all appear together:

P746 Line 23499 and P737 L 23168 (2d sentence of paragraph on) 
------------------------------------------------------------------------ 

10  Nature of defect (complete, concise explanation of the perceived
    problem):

It would appear that the two paragraphs should be saying the same
thing (identically) and they do not, particularly the bit about
the _POSIX_MEMORY_PROTECTION option.

------------------------------------------------------------------------ 

11  Solution proposed by the submitter (optional):

At least reconcile the two paragraphs.  However, it would be better
to remove the duplication (by moving it to a section of general concepts)
and refer to the resultant text there.  (I suspect that one or the other
paragraphs (probably the one at 23167) is correct as it stands.)

------------------------------------------------------------------------ 




Interpretation response
------------------------
The standard is clear; _POSIX_MEMORY_PROTECTION covers all of
mprotect but only part of mmap. No change is required.

Rationale
-------------
None.

Forwarded to Interpretations group: 19 June 2000
Proposed resolution: 25 July 2000
Finalised interpretation: 29 August 2000

[note, not part of this interpretation: an observation on 10 above,
one reason they do not have a statement about the Memory Protection
option in mprotect() is  that the whole function is only supported in
.1-1996 when the option is supported, hence specifying semantics in that
case makes no sense]