|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2454 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2454.
Report 2454 Actions
Problem Report Number 2454 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0666 Raised 2005-03-26 02:33 Updated 2005-03-31 03:44 Published 2005-03-31 03:44 Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03) Certification Program The Open Brand certification program Test Suite VSU version 5.2.6 Test Identification CAPI.os/mman/mmap 41 Specification Base Definitions Issue 6 Problem Summary Call to mmap() in assertion 41 does not send a proper offset Problem Text The problem with this assertion is that it tries to mmap a file using a
32-bit file descriptor starting at offset 0x80000000, or -2147483648
(INT32_MIN) considering a 32-bit file descriptor's off_t is a signed long.
Instead, to generate the error condition it is looking for, the test
should try to mmap starting at offset 0x7ffff000 for 4096 bytes or more,
something that will cause "offset + len" to overflow properly in
t41lrgoff.c.Test Output
****************************************************************************************************************
/tset/CAPI.os/mman/mmap/T.mmap 41 Failed
Test Description:
Base Required Deviance
EOVERFLOW in errno and return MAP_FAILED on a call to void
*mmap(void
*addr, size_t len, int prot, int flags, int fildes, off_t off) when
file is a regular file and the value of off plus len exceeds the
offset maximum established in the open file description associated
with fildes.
Test Information:
PREP: Check for existence of programming environments
PREP: Obtain off_t size in ILP32_OFF32 environment
PREP: Obtain off_t size in ILP32_OFFBIG environment
PREP: Obtain off_t size in LP64_OFF64 environment
PREP: Obtain off_t size in LPBIG_OFFBIG environment
TEST: Execute a program compiled in ILP32_OFF32(32-bit off_t)
environment that:
opens a regular file for writing
execs a program compiled in ILP32_OFFBIG(64-bit off_t)
environment,
passing it the open file descriptor
this program:
verifies mmap returns -1 and sets errno to
EOVERFLOW when off+len exceeds the offset maximum
ERROR: In LFS program: mmap did not fail. Expected: MAP_FAILED
(-1), Received: fee60000
TEST: Execute a program compiled in ILP32_OFF32(32-bit off_t)
environment that:
opens a regular file for writing
execs a program compiled in LP64_OFF64(64-bit off_t)
environment,
passing it the open file descriptor
this program:
verifies mmap returns -1 and sets errno to
EOVERFLOW when off+len exceeds the offset maximum
ERROR: In LFS program: mmap did not fail. Expected: MAP_FAILED
(-1), Received: fffffd7fff200000
TEST: Execute a program compiled in ILP32_OFF32(32-bit off_t)
environment that:
opens a regular file for writing
execs a program compiled in LPBIG_OFFBIG(64-bit off_t)
environment,
passing it the open file descriptor
this program:
verifies mmap returns -1 and sets errno to
EOVERFLOW when off+len exceeds the offset maximum
ERROR: In LFS program: mmap did not fail. Expected: MAP_FAILED
(-1), Received: fffffd7fff200000
****************************************************************************************************************Review Information
Review Type TSMA Review Start Date 2005-03-26 02:33 Last Updated 2005-03-29 18:17 Completed 2005-03-29 18:17 Status Complete Review Recommendation Rejected (REJ) Review Response The standard requires mmap() to fail with EOVERFLOW when off+len exceeds
the offset maximum for the file descriptor, regardless of whether off
alone exceeds the offset maximum. In the test the value off is passed
to mmap() as a 64-bit off_t value. If mmap() is converting it to a
32-bit value before it does the check of off+len against the offset
maximum, thus performing the check with a truncated value instead of the
actual value that was passed as the off argument to mmap(), then that is
clearly a bug in the implementation.
Review Type SA Review Start Date 2005-03-29 17:17 Last Updated 2005-03-29 22:34 Completed 2005-03-29 22:34 Status Complete Review Resolution Rejected (REJ) Review Conclusion This request should be refused for the reason given by the TSMA.
Problem Reporting System Options:
- View Report 2454
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority