OBSOLETE Patch-ID# 114432-05
Keywords: security stack overflow libc gethostbyname getspnam_r libthread lgroup
Synopsis: Obsoleted by: 114432-09 SunOS 5.9_x86: libthread.so.1 libc patch
Date: Jan/30/2004


Install Requirements: Install in Single User Mode                      
                      Reboot immediately after patch is installed                      
                      
Solaris Release: 9_x86

SunOS Release: 5.9_x86

Unbundled Product: 

Unbundled Release: 

Xref: This patch available for SPARC as patch 112839

Topic: SunOS 5.9_x86: libthread.so.1 libc patch

Relevant Architectures: i386

BugId's fixed with this patch: 4152876 4221365 4254013 4271957 4353836 4479187 4518988 4524527 4530367 4533712 4669963 4679005 4688450 4694626 4705942 4709984 4749274 4756192 4767215 4768343 4769150 4769166 4786566 4792908 4795308 4797219 4819289 4845974 4863473 4874895 4894609 4904877

Changes incorporated in this version: 4271957 4756192 4797219 4904877

Patches accumulated and obsoleted by this patch: 113988-07 115481-01

Patches which conflict with this patch: 

Patches required with this patch: 112234-05 or greater

Obsoleted by: 

Files included with this patch: 

/usr/include/ucontext.h
/usr/lib/abi/abi_libc.so.1
/usr/lib/libc.a
/usr/lib/libc.so.1
/usr/lib/libp/libc.a
/usr/lib/libthread.so.1
/usr/lib/libthread_db.so.1
/usr/lib/llib-lc
/usr/lib/llib-lc.ln
/usr/lib/mdb/proc/libthread.so
/usr/lib/pics/libc_pic.a

Problem Description:

4797219 pstack is amazingly inefficient for MT targets
4756192 pstack goes into loop, different location than bugid 4524527
4271957 ucontext_t.uc_link points to garbage
4904877 strcmp doesn't work for non-ascii characters on s9u5_05
 
(from 114432-04)
 
4894609 vold unable to mount a floppy
 
        In addition to the fix listed above, this patch revision was 
        generated to accumulate and obsolete the changes introduced in 
        Solaris Update s9u5 feature point patch 115481-01.
 
(from 114432-03)
 
4769166 x86 libthread could improve current thread references
4524527 pstack goes into a loop
4479187 dtlogin deadlock while invoking Xreset, induced by longjmp()
4679005 thr_stksegment() reports incorrect stack sizes
4688450 VSU TC setcontex4.c dumps core due to setcontext() if linked with libthread.
4769150 libthread should not depend on librt
4786566 mdb dumps core when examining a process linked with old_libthread
4792908 new libthread inherits arbitrary restrictions on mutex attributes from old
4819289 threads: ASSERT(sigequalset(&oldset, &self->ul_sigmask))
4768343 fork() in libthread won't clear deferred signal for the child.
 
(from 114432-02)
 
4795308 s9u3 patch missing some binaries
 
(from 114432-01)
 
4254013 need a better mechanism to detect multi-threaded user stack overflow
4533712 makecontext breaks in 64-bit mode
 
(from 113988-07)
 
4874895 S9 x86 patches for 4353836 needs to be respun with correct dependencies
 
(from 113988-06)
 
4353836 if more than 255 file descriptors are already open then gethostbyname fails
4152876 getspnam_r() fails due to use of fopen() in libnsl.so in applications under load
 
(from 113988-05)
 
4705942 invoke_utmp_update(): buffer-overflow bug and pad field written to utmpx wrong
 
(from 113988-04)
 
4530367 After retry timeout - nss_search() no longer retries lookups
4749274 MT-Safe functions such as syslog(3C) and wordexp(3C) cannot use fork()
 
(from 113988-03)
 
4254013 need a better mechanism to detect multi-threaded user stack overflow
4533712 makecontext breaks in 64-bit mode
4518988 We should ship libumem
4709984 findleaks warns about partial read failure
4694626 putenv calls realloc with locks held
 
(from 113988-02)
 
4767215 Incorrect output with kP format, losing significant digits.
 
(from 113988-01)
 
4221365 readdir_r() is not POSIX compliant
4669963 Strong security checks in catgets(3C) break setuid application
 
(from 115481-01)
 
4845974 lgroup APIs needed for observability and performance optimization
4863473 lgrp_home() should be able to take process or thread ID

Patch Installation Instructions:
--------------------------------
 
For Solaris 2.0-2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
'installpatch' and 'backoutpatch' scripts provided with each patch.
 
For Solaris 7-9 releases, refer to the man pages for instructions
on using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:
 
       example# patchadd /var/spool/patch/104945-02
 
The following example removes a patch from a standalone system:
 
       example# patchrm 104945-02
 
For additional examples please see the appropriate man pages.

Special Install Instructions:
----------------------------- 
 
NOTE 1:  To get the complete Stack Update feature, please install the following
         patches:
 
         113988-03 (or newer) libc.so.1 patch
         114433-01 (or newer) truss patch
         112234-05 (or newer) KU patch
         114434-01 (or newer) procfs patch
 
NOTE 2:  To get the complete "umem: A Userland Slab Allocator" feature, please
         install the following additional patches:
 
         114427-01 (or newer ) libumem.so.1
         114428-01 (or newer ) libumem; mdb components patch
         114429-01 (or newer ) llib-lumem patch
         114430-01 (or newer ) abi_libumem.so.1 patch
 
NOTE 3:  To get the complete Stack Update feature, please install the following
         patches:
 
         114433-04 (or newer) truss/libproc patch
         112234-05 (or newer) KU patch
         114434-01 (or newer) procfs patch
 
NOTE 4:  To get the complete fix for the bugids 4353836 and 4874895, please 
         install the following patches, in addition to this patch:
         (This 113988-07 libc patch must be the 1st patch to be installed)
 
         113719-06 (or newer) libnsl patch (must be the 2nd patch to be installed)
         114354-04 (or newer) libresolv patch
         115546-02 (or newer) nss_files patch
         115551-02 (or newer) nss_user patch
         115543-02 (or newer) nss_compat patch
 
NOTE 5:  To get the complete Lgroup APIs feature, please install the
         following patches:
 
         115676-01 (or newer) liblgrp patch 
         114433-04 (or newer) truss/libproc patch 
         112234-09 (or newer) Kernel Update patch
 
NOTE 6:  To get the complete fix for the bug 4797219, please install 
         the following pathces, in addition to this patch:
 
         114433-04 (or newer)  truss/libproc patch

README -- Last modified date:  Friday, January 30, 2004

