|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2538 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 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:
- View Report 2538
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority