Patch-ID# 114432-12
Keywords: security libc gethostbyname getspnam_r libthread lgroup
Synopsis: SunOS 5.9_x86: libthread.so.1 libc patch
Date: Jun/10/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 112874

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

Relevant Architectures: i386

BugId's fixed with this patch: 4152876 4165723 4221365 4223846 4254013 4271957 4353836 4479187 4489885 4518988 4524527 4530367 4533712 4656492 4669963 4679005 4686454 4688450 4694626 4705942 4709984 4749274 4749669 4756148 4756192 4764855 4767215 4768343 4769150 4769166 4772200 4782294 4783204 4786566 4792908 4795308 4795713 4797219 4810810 4812362 4818401 4819289 4828746 4831309 4839080 4844583 4845974 4855271 4863473 4871054 4874895 4877492 4878257 4881606 4888508 4893562 4894609 4894760 4904877 4950403 4951000 4955607 4955609 4955616 4955622 4961173 4961699 4981484

Changes incorporated in this version: 4981484

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

Patches which conflict with this patch: 

Patches required with this patch: 112234-11 or greater

Obsoleted by: 

Files included with this patch: 

/etc/name_to_sysnum
/usr/include/sys/resource.h
/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:

4981484 vsprintf does not perform as well as sprintf
 
(from 114432-11)
 
4756148 crypt(3c) processing of policy.conf doesn't follow case conventions
4818401 K2 uncovers sunmd5 bug
4877492 crypt() is unpredictable with unknown encryption algorithms
4878257 sunmd5:crypt_gensalt_impl() issues with undocumented rounds= param
4881606 crypt(3c) abuses the heap in many ways
4894760 can't use crypt() after using strdtod() in same thread
4950403 crypt_alg_magic symbol not required
4961173 crypt modules are not actually lint-clean
 
(from 114432-10)
 
4783204 Solaris/IA32 should save/restore SSE/SSE2 register set on context switch
4951000 _sse_hw has wrong scope
4955609 _sse_hw is data, not a function
4955607 sseblk.o should be part of ASSYM_DEPS
4955616 SI86FPSTART is broken on Pentium 3 with C++ run-time
4961699 SunOS 5.10 S10_47/48, S9U6 corrupts xmm0 registers
4955622 getcontext copies out kernel stack garbage
4893562 add SSE/SSE2 support to dis, kadb, mdb
4855271 x86 CPUs should be "halted" when idle()
4749669 Pentium IV pause optimization
 
(from 114432-09)
 
4844583 _wdbindf may cause deadlock
 
(from 114432-08)
 
4686454 getrusage is much slower on Solaris than competitive boxes
 
(from 114432-07)
 
4489885 qsort performance is not competitive
4656492 mktime() is inefficient, 6X slower than Linux 7.0
4795713 strftime is slow on Solaris when compared to Linux
4782294 localtime_r is slow on Solaris when compared to Linux
4828746 POSIX timezones broken if std. offset & alt offset difference not 1 hour
4165723 localtime() is extremely inefficient, 15X slower than on NT4.0
4831309 POSIX 'pst8pdt' Timezone Pulls April Fool's Stunt Every 400 years
4223846 localtime() problem on non-leap centuries
4839080 improperly specified TZ results in inconsistent behavior
4772200 fcntl(2) is slow on Solaris when compared to Linux
4764855 dup is slow on Solaris when compared to Linux
4812362 getenv is slower than it could be.
4871054 regex APIs have segv/performance problems
 
(from 114432-06)
 
4810810 getcontext(2) could be faster
4888508 fix for bug 4705942 is incomplete in S9 (breaks utmp_update)
 
(from 114432-05)
 
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 need 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 also install the following
         patches: (113988-03 has been accumulated into this patch)
 
         114433-01 (or newer)   truss patch
         112234-05 (or newer)   Kernel Update patch
         114434-01 (or newer)   procfs patch
 
NOTE 2:  To get the complete "umem: A Userland Slab Allocator" feature, please also
         install the following 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 fix for the bugids 4353836 and 4874895, please also
         install the following patches:
 
         (This 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 4:  To get the complete Lgroup APIs feature, please also 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 5:  To get the complete fix for the bug 4797219, please also install
         the following patch:
 
         114433-04  (or newer)     truss/libproc patch
 
NOTE 6:  To get the complete fix for Atlas support: bugs 4810810, 4865731,
         4860183, 4860789, 4785321, 4785304, and 4808811 please also install
         the following patches:
 
         116050-01  (or newer)     fdfs patch      bug 4865731
         116048-01  (or newer)     hsfs patch    bug 4865731
         114719-02  (or newer)     pcfs patch     bug 4865731
         114563-09  (or newer)     ufs patch  bug 4865731 and 4860789
         113108-01  (or newer)     udfs patch    bug 4865731
         113107-01  (or newer)     tmpfs patch   bug 4865731 and 4860183
         113987-08  (or newer)     nfs patch      bug 4865731
         114240-02  (or newer)     cachefs patch   bug 4865731
         116053-01  (or newer)     autofs patch  bug 4865731
         113109-01  (or newer)     xmemfs patch    bug 4865731
         114432-06  (or newer)     libc patch      bug 4810810
         112234-10  (or newer)     Kernel Update  bug 4810810, 4785321, 4785304, and 4808811
 
Note 7: To obtain the complete fix for Atlas, bug id 4772200 please also
        install the following patches:
 
        112234-11  (or newer)     sockfs patch
        114432-08  (or newer)     libc patch
        116234-01  (or newer)     file.h
 
Note 8: To get the complete fix for bug 4686454, please also install the
        following patches:
 
	112234-11  (or newer)     Kernel Update patch
        114433-05  (or newer)     truss patch

README -- Last modified date:  Thursday, June 10, 2004

