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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2538 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 2538.


Report 2538 Actions


    Problem Report Number 2538
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0682
    Raised 2007-12-13 03:27
    Updated 2007-12-21 14:30
    Published 2007-12-21 14:30
    Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03)
    Certification Program The Open Brand certification program
    Test Suite VSART version 1.1.7
    Test Identification various rwlock tests, see Test output for complete list.
    Specification Base Definitions Issue 6
    Location in Spec XSH section, Lines 1905-1911 of the combined PDF SUVs3_TC2 standard.
    Problem Summary The tests expect that unprivileged users can change the priority of
    threads scheduled under SYSTEM scope and SCHED_RR scheduling policy. Our
    implementation doesn't allow this.
    Problem Text After correcting the following problem in the vrtxlib, it can be
    seen that vrtx_pthread_create() is failing with an EPERM error.

    Line 268 in SRC/common/vrtxlib/thrdsafe.c is

    in_rpt("vrtx_pthread_create[%d] failed, error ", cnt, rval);

    should be

    in_rpt("vrtx_pthread_create[%d] failed, error: %d ", cnt, rval);


    According to SUSv3 an EPERM error must be returned as follows:

    ERRORS
    The pthread_create( ) function shall fail if:

    [EPERM] The caller does not have appropriate permission to set the
    required scheduling parameters or scheduling policy.


    Looking at the failing tests, the following attributes are being set in
    the VRTX library function vrtx_pthread_create() for the thread:

    PTHREAD_CREATE_JOINABLE
    SCHED_RR
    PTHREAD_EXPLICIT_SCHED
    PTHREAD_SCOPE_PROCESS

    The EPERM error is the result of trying to create the thread with
    SCHED_RR scheduling policy under PTHREAD_SCOPE_SYSTEM.

    Under SYSTEM scope, the scheduling is done within the kernel itself.
    Allowing an unprivileged user to set the scheduling priority of the
    kernel threads could lead to security problems. So on our implementation
    an unpriviliged user cannot change the priority under SYSTEM scope.

    As the pthread_create() EPERM definition specifically states it use is
    for cases where the caller does not have permission to set the
    scheduling policy; we believe the restriction of SCHED_RR to users with
    appropriate privilege is allowed by the SUSv3 TC2 standard.


    I have opened this against VSART, but this is causing failures in other
    Test Suites too.

    Test Output
    POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_rdlock 12
    POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_tryrdlock 11
    POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_trywrlock 9
    POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_unlock 9
    POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_wrlock 8
    POSIX_art.os/synchobjects_rwlocks/pthread_rwlockattr_getpshared 4
    POSIX_art.os/synchobjects_rwlocks/pthread_rwlockattr_setpshared 7

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

    /tset/POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_rdlock/T.pthread_
    rwlock_rdlock 12 Unresolved

    Test Description:
    If {_POSIX_READER_WRITER_LOCKS} is defined:
    pthread_rwlock_rdlock(lock) is thread safe.

    Test Information:
    vrtx_pthread_create[0] failed, error
    vrtx_pthread_create[1] failed, error
    vrtx_pthread_create[2] failed, error
    vrtx_pthread_create[3] failed, error
    vrtx_pthread_create[4] failed, error
    vrtx_pthread_create[5] failed, error
    vrtx_pthread_create[6] failed, error
    vrtx_pthread_create[7] failed, error
    vrtx_pthread_create[8] failed, error
    vrtx_pthread_create[9] failed, error
    vrtx_pthread_create[10] failed, error
    vrtx_pthread_create[11] failed, error
    vrtx_pthread_create[12] failed, error
    vrtx_pthread_create[13] failed, error
    vrtx_pthread_create[14] failed, error
    vrtx_pthread_create[15] failed, error
    vrtx_pthread_join[0] failed, error 3
    vrtx_pthread_join[1] failed, error 3
    vrtx_pthread_join[2] failed, error 3
    vrtx_pthread_join[3] failed, error 3
    vrtx_pthread_join[4] failed, error 3
    vrtx_pthread_join[5] failed, error 3
    vrtx_pthread_join[6] failed, error 3
    vrtx_pthread_join[7] failed, error 3
    vrtx_pthread_join[8] failed, error 3
    vrtx_pthread_join[9] failed, error 3
    vrtx_pthread_join[10] failed, error 3
    vrtx_pthread_join[11] failed, error 3
    vrtx_pthread_join[12] failed, error 3
    vrtx_pthread_join[13] failed, error 3
    vrtx_pthread_join[14] failed, error 3
    vrtx_pthread_join[15] failed, error 3


    ************************************************************************
    ************************************************************************
    /tset/POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_tryrdlock/T.pthre
    ad_rwlock_tryrdlock 11 Unresolved

    Test Description:
    If {_POSIX_READER_WRITER_LOCKS} is defined:
    pthread_rwlock_tryrdlock(lock) is thread safe.

    Test Information:
    vrtx_pthread_create[0] failed, error
    vrtx_pthread_create[1] failed, error
    vrtx_pthread_create[2] failed, error
    vrtx_pthread_create[3] failed, error
    vrtx_pthread_create[4] failed, error
    vrtx_pthread_create[5] failed, error
    vrtx_pthread_create[6] failed, error
    vrtx_pthread_create[7] failed, error
    vrtx_pthread_create[8] failed, error
    vrtx_pthread_create[9] failed, error
    vrtx_pthread_create[10] failed, error
    vrtx_pthread_create[11] failed, error
    vrtx_pthread_create[12] failed, error
    vrtx_pthread_create[13] failed, error
    vrtx_pthread_create[14] failed, error
    vrtx_pthread_create[15] failed, error
    vrtx_pthread_join[0] failed, error 3
    vrtx_pthread_join[1] failed, error 3
    vrtx_pthread_join[2] failed, error 3
    vrtx_pthread_join[3] failed, error 3
    vrtx_pthread_join[4] failed, error 3
    vrtx_pthread_join[5] failed, error 3
    vrtx_pthread_join[6] failed, error 3
    vrtx_pthread_join[7] failed, error 3
    vrtx_pthread_join[8] failed, error 3
    vrtx_pthread_join[9] failed, error 3
    vrtx_pthread_join[10] failed, error 3
    vrtx_pthread_join[11] failed, error 3
    vrtx_pthread_join[12] failed, error 3
    vrtx_pthread_join[13] failed, error 3
    vrtx_pthread_join[14] failed, error 3
    vrtx_pthread_join[15] failed, error 3


    ************************************************************************
    ************************************************************************
    /tset/POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_trywrlock/T.pthre
    ad_rwlock_trywrlock 9 Unresolved

    Test Description:
    If {_POSIX_READER_WRITER_LOCKS} is defined:
    pthread_rwlock_trywrlock(lock) is thread safe.

    Test Information:
    vrtx_pthread_create[0] failed, error
    vrtx_pthread_create[1] failed, error
    vrtx_pthread_create[2] failed, error
    vrtx_pthread_create[3] failed, error
    vrtx_pthread_create[4] failed, error
    vrtx_pthread_create[5] failed, error
    vrtx_pthread_create[6] failed, error
    vrtx_pthread_create[7] failed, error
    vrtx_pthread_create[8] failed, error
    vrtx_pthread_create[9] failed, error
    vrtx_pthread_create[10] failed, error
    vrtx_pthread_create[11] failed, error
    vrtx_pthread_create[12] failed, error
    vrtx_pthread_create[13] failed, error
    vrtx_pthread_create[14] failed, error
    vrtx_pthread_create[15] failed, error
    vrtx_pthread_join[0] failed, error 3
    vrtx_pthread_join[1] failed, error 3
    vrtx_pthread_join[2] failed, error 3
    vrtx_pthread_join[3] failed, error 3
    vrtx_pthread_join[4] failed, error 3
    vrtx_pthread_join[5] failed, error 3
    vrtx_pthread_join[6] failed, error 3
    vrtx_pthread_join[7] failed, error 3
    vrtx_pthread_join[8] failed, error 3
    vrtx_pthread_join[9] failed, error 3
    vrtx_pthread_join[10] failed, error 3
    vrtx_pthread_join[11] failed, error 3
    vrtx_pthread_join[12] failed, error 3
    vrtx_pthread_join[13] failed, error 3
    vrtx_pthread_join[14] failed, error 3
    vrtx_pthread_join[15] failed, error 3


    ************************************************************************
    ************************************************************************
    /tset/POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_unlock/T.pthread_
    rwlock_unlock 9 Unresolved

    Test Description:
    If {_POSIX_READER_WRITER_LOCKS} is defined:
    pthread_rwlock_unlock(lock) is thread safe.
    Test Information:
    vrtx_pthread_create[0] failed, error
    vrtx_pthread_create[1] failed, error
    vrtx_pthread_create[2] failed, error
    vrtx_pthread_create[3] failed, error
    vrtx_pthread_create[4] failed, error
    vrtx_pthread_create[5] failed, error
    vrtx_pthread_create[6] failed, error
    vrtx_pthread_create[7] failed, error
    vrtx_pthread_create[8] failed, error
    vrtx_pthread_create[9] failed, error
    vrtx_pthread_create[10] failed, error
    vrtx_pthread_create[11] failed, error
    vrtx_pthread_create[12] failed, error
    vrtx_pthread_create[13] failed, error
    vrtx_pthread_create[14] failed, error
    vrtx_pthread_create[15] failed, error
    vrtx_pthread_join[0] failed, error 3
    vrtx_pthread_join[1] failed, error 3
    vrtx_pthread_join[2] failed, error 3
    vrtx_pthread_join[3] failed, error 3
    vrtx_pthread_join[4] failed, error 3
    vrtx_pthread_join[5] failed, error 3
    vrtx_pthread_join[6] failed, error 3
    vrtx_pthread_join[7] failed, error 3
    vrtx_pthread_join[8] failed, error 3
    vrtx_pthread_join[9] failed, error 3
    vrtx_pthread_join[10] failed, error 3
    vrtx_pthread_join[11] failed, error 3
    vrtx_pthread_join[12] failed, error 3
    vrtx_pthread_join[13] failed, error 3
    vrtx_pthread_join[14] failed, error 3
    vrtx_pthread_join[15] failed, error 3


    ************************************************************************
    ************************************************************************
    /tset/POSIX_art.os/synchobjects_rwlocks/pthread_rwlock_wrlock/T.pthread_
    rwlock_wrlock 8 Unresolved

    Test Description:
    If {_POSIX_READER_WRITER_LOCKS} is defined:
    pthread_rwlock_wrlock(lock) is thread safe.

    Test Information:
    vrtx_pthread_create[0] failed, error
    vrtx_pthread_create[1] failed, error
    vrtx_pthread_create[2] failed, error
    vrtx_pthread_create[3] failed, error
    vrtx_pthread_create[4] failed, error
    vrtx_pthread_create[5] failed, error
    vrtx_pthread_create[6] failed, error
    vrtx_pthread_create[7] failed, error
    vrtx_pthread_create[8] failed, error
    vrtx_pthread_create[9] failed, error
    vrtx_pthread_create[10] failed, error
    vrtx_pthread_create[11] failed, error
    vrtx_pthread_create[12] failed, error
    vrtx_pthread_create[13] failed, error
    vrtx_pthread_create[14] failed, error
    vrtx_pthread_create[15] failed, error
    vrtx_pthread_join[0] failed, error 3
    vrtx_pthread_join[1] failed, error 3
    vrtx_pthread_join[2] failed, error 3
    vrtx_pthread_join[3] failed, error 3
    vrtx_pthread_join[4] failed, error 3
    vrtx_pthread_join[5] failed, error 3
    vrtx_pthread_join[6] failed, error 3
    vrtx_pthread_join[7] failed, error 3
    vrtx_pthread_join[8] failed, error 3
    vrtx_pthread_join[9] failed, error 3
    vrtx_pthread_join[10] failed, error 3
    vrtx_pthread_join[11] failed, error 3
    vrtx_pthread_join[12] failed, error 3
    vrtx_pthread_join[13] failed, error 3
    vrtx_pthread_join[14] failed, error 3
    vrtx_pthread_join[15] failed, error 3


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

    /tset/POSIX_art.os/synchobjects_rwlocks/pthread_rwlockattr_getpshared/T.
    pthread_rwlockattr_getpshared 4 Unresolved

    Test Description:
    If {_POSIX_READER_WRITER_LOCKS} and
    {_POSIX_THREAD_PROCESS_SHARED} are defined:
    pthread_rwlockattr_getpshared(attr, pshared) is
    thread safe.

    Test Information:
    vrtx_pthread_create[0] failed, error
    vrtx_pthread_create[1] failed, error
    vrtx_pthread_create[2] failed, error
    vrtx_pthread_create[3] failed, error
    vrtx_pthread_create[4] failed, error
    vrtx_pthread_create[5] failed, error
    vrtx_pthread_create[6] failed, error
    vrtx_pthread_create[7] failed, error
    vrtx_pthread_create[8] failed, error
    vrtx_pthread_create[9] failed, error
    vrtx_pthread_create[10] failed, error
    vrtx_pthread_create[11] failed, error
    vrtx_pthread_create[12] failed, error
    vrtx_pthread_create[13] failed, error
    vrtx_pthread_create[14] failed, error
    vrtx_pthread_create[15] failed, error
    vrtx_pthread_join[0] failed, error 3
    vrtx_pthread_join[1] failed, error 3
    vrtx_pthread_join[2] failed, error 3
    vrtx_pthread_join[3] failed, error 3
    vrtx_pthread_join[4] failed, error 3
    vrtx_pthread_join[5] failed, error 3
    vrtx_pthread_join[6] failed, error 3
    vrtx_pthread_join[7] failed, error 3
    vrtx_pthread_join[8] failed, error 3
    vrtx_pthread_join[9] failed, error 3
    vrtx_pthread_join[10] failed, error 3
    vrtx_pthread_join[11] failed, error 3
    vrtx_pthread_join[12] failed, error 3
    vrtx_pthread_join[13] failed, error 3
    vrtx_pthread_join[14] failed, error 3
    vrtx_pthread_join[15] failed, error 3


    ************************************************************************
    ************************************************************************
    /tset/POSIX_art.os/synchobjects_rwlocks/pthread_rwlockattr_setpshared/T.
    pthread_rwlockattr_setpshared 7 Unresolved

    Test Description:
    If {_POSIX_READER_WRITER_LOCKS} and
    {_POSIX_THREAD_PROCESS_SHARED} are defined:
    pthread_rwlockattr_setpshared(attr, pshared) is
    thread safe.

    Test Information:
    vrtx_pthread_create[0] failed, error
    vrtx_pthread_create[1] failed, error
    vrtx_pthread_create[2] failed, error
    vrtx_pthread_create[3] failed, error
    vrtx_pthread_create[4] failed, error
    vrtx_pthread_create[5] failed, error
    vrtx_pthread_create[6] failed, error
    vrtx_pthread_create[7] failed, error
    vrtx_pthread_create[8] failed, error
    vrtx_pthread_create[9] failed, error
    vrtx_pthread_create[10] failed, error
    vrtx_pthread_create[11] failed, error
    vrtx_pthread_create[12] failed, error
    vrtx_pthread_create[13] failed, error
    vrtx_pthread_create[14] failed, error
    vrtx_pthread_create[15] failed, error
    vrtx_pthread_join[0] failed, error 3
    vrtx_pthread_join[1] failed, error 3
    vrtx_pthread_join[2] failed, error 3
    vrtx_pthread_join[3] failed, error 3
    vrtx_pthread_join[4] failed, error 3
    vrtx_pthread_join[5] failed, error 3
    vrtx_pthread_join[6] failed, error 3
    vrtx_pthread_join[7] failed, error 3
    vrtx_pthread_join[8] failed, error 3
    vrtx_pthread_join[9] failed, error 3
    vrtx_pthread_join[10] failed, error 3
    vrtx_pthread_join[11] failed, error 3
    vrtx_pthread_join[12] failed, error 3
    vrtx_pthread_join[13] failed, error 3
    vrtx_pthread_join[14] failed, error 3
    vrtx_pthread_join[15] failed, error 3


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

    Review Information

    Review Type TSMA Review
    Start Date 2007-12-13 03:27
    Last Updated 2007-12-19 17:56
    Completed 2007-12-19 17:56
    Status Complete
    Review Recommendation Rejected (REJ)
    Review Response It is agreed that this is a fault in the test suite but it will be
    handled by issuing a patch for the VRTX library.

    Review Type SA Review
    Start Date 2007-12-19 17:56
    Last Updated 2007-12-21 14:29
    Completed 2007-12-21 14:29
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion Due to the large number of tests affected, this problem report has been
    addressed by issuing a patch, which is mandatory to apply for those who
    encounter this problem. (The patch releases are VRTX1.2.8A and VSTH5.4.7A)

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority