HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1571 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 1571.


Report 1571 Actions


    Problem Report Number 1571
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0853
    Raised 2002-06-18 08:00
    Updated 2003-03-13 08:00
    Published 2002-06-20 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.1.2
    Test Identification CAPI.os/ioprim/readv 72
    Problem Summary TSD4U.00314 The second and subsequent parts of the test may fail on systems which implement an additional access control mechanism for files owned by uid 0.
    Problem Text

    This error is caused by the permissions on the t72smloffX and t72lrgoffX
    executables, they are SUID. After the build, the permissions in
    TESTROOT/test/CAPI.os/ioprim/readv look like this:

    -rwxr-xr-x 1 vsx0 vsxg0 157484 Jun 18 10:47 readv72
    -rwsr-xr-x 1 root vsxg0 31551 Jun 18 10:47 t72lrgoff2
    -rwsr-xr-x 1 root vsxg0 32255 Jun 18 10:47 t72lrgoff3
    -rwsr-xr-x 1 root vsxg0 32255 Jun 18 10:47 t72lrgoff4
    -rwsr-xr-x 1 root vsxg0 14709 Jun 18 10:47 t72smloff1
    -rwsr-xr-x 1 root vsxg0 14709 Jun 18 10:47 t72smloff2
    -rwsr-xr-x 1 root vsxg0 16138 Jun 18 10:47 t72smloff3
    -rwsr-xr-x 1 root vsxg0 16138 Jun 18 10:47 t72smloff4

    After the first iteration of small/large off_t testing the permissions on
    the LFS test file look like this:

    -rwxr-xr-x 1 root vsxg0 .../readv72

    On the second iteration, the unlink() lines in readv72, receive an EACCES error
    because the file is owned by root, and readv72 is owned by vsx0.

    Moving the unlink() lines into t72smloff.c ahead of the fopen() fixes the
    problem.
    Test Output
    ************************************************************************
    /tset/CAPI.os/ioprim/readv/T.readv 72 Unresolved

    Test Description:
    Base Conditional Deviance
    If the implementation allows creation of a file description with an
    offset maximum less than the largest size it supports for an off_t:
    EOVERFLOW in errno and return -1 on a call to ssize_t readv(int
    fildes, const struct iovec *iov, int iovcnt) when the file is a
    regular file, nbyte is greater than zero, the starting position is
    before the end of file, and the starting position is greater than 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 XBS5_ILP32_OFF32 environment
    PREP: Obtain off_t size in XBS5_ILP32_OFFBIG environment
    PREP: Obtain off_t size in XBS5_LP64_OFF64 environment
    PREP: Obtain off_t size in XBS5_LPBIG_OFFBIG environment
    TEST: Execute a program compiled in XBS5_ILP32_OFF32(32-bit off_t)
    environment that:
    opens a file
    execs a program compiled in the XBS5_ILP32_OFFBIG(64-bit off_t),
    environment, passing it the open file descriptor
    this program then:
    reopens the file
    sets the offset greater than the value that can be
    represented in 32-bit off_t,
    attempts to read from the original file descriptor
    TEST: Execute a program compiled in XBS5_ILP32_OFF32(32-bit off_t)
    environment that:
    opens a file
    execs a program compiled in the XBS5_LP64_OFF64(64-bit off_t),
    environment, passing it the open file descriptor
    this program then:
    reopens the file
    sets the offset greater than the value that can be
    represented in 32-bit off_t,
    attempts to read from the original file descriptor
    ERROR: In 32-bit program: open() failed, errno = 127(Value too large to
    be stored in data type)
    TEST: Execute a program compiled in XBS5_ILP32_OFF32(32-bit off_t)
    environment that:
    opens a file
    execs a program compiled in the XBS5_LPBIG_OFFBIG(64-bit off_t),
    environment, passing it the open file descriptor
    this program then:
    reopens the file
    sets the offset greater than the value that can be
    represented in 32-bit off_t,
    attempts to read from the original file descriptor
    ERROR: In 32-bit program: open() failed, errno = 127(Value too large to
    be stored in data type)

    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The behaviour of unlink() on this system is unusual. If the standard
    file access control mechanism (alone) had been in effect, then the call
    in the test would have succeeded. However, the specification allows
    systems to implement an "additional access control mechanism" which
    can restrict access in cases where the standard mechanism would allow
    access. The restriction placed on unlink() by this system, whereby
    normal users cannot unlink files owned by root, appears to qualify as
    an additional access control mechanism, and the test should be
    modified to allow for this behaviour.

    It is recommended that a test suite deficiency is granted.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed Test Suite Deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority