[illumos-Advocates] RTI 875 missing lwp_exit() in kcfpool_svc() induces panic in prchoose()

Garrett D'Amore garrett at nexenta.com
Sat Apr 2 22:08:37 PDT 2011


webrev: http://mexico.purplecow.org/gdamore/webrev/kcf-fix/

Testing is described in the upstream bug, including the test code.
Basically, I wrote a kernel module to exercise a bunch of crypto
operations in the kernel simultaneously (1000 threads), and then I
checked the mdb counters and the kcf pool counters as described and got
the expected correct results.  (Kernel count for the proc == pool count
+ 1.)

garrett at thinkpad{26}> hg outgoing -v
running ssh anonhg at hg.illumos.org "hg -R illumos-gate serve --stdio"
comparing with ssh://anonhg@hg.illumos.org/illumos-gate
searching for changes

changeset:   13316:61cc3df823dc
tag:         tip
user:        Garrett D'Amore <garrett at nexenta.com>
date:        Sat Apr 02 21:50:19 2011 -0700

description:
	875 missing lwp_exit() in kcfpool_svc() induces panic in prchoose()
	Reviewed by: Bryan Cantrill <bryancantrill at gmail.com>
	Reviewed by: Dan McDonald <danmcd at nexenta.com>

modified:
   usr/src/uts/common/crypto/core/kcf_sched.c

garrett at thinkpad{27}> hg pbchk
Copyright check:

C style check:

Header format check:

Java style check:

Mapfile comment check:

File permission check:

Keywords check:

Comments check:

Checking for new tags:

Checking for multiple heads (or branches):

Checking for branch changes:

Checking for uncommitted changes:

Checking for merges:

Nightly build mail_msg (beadm lint error is left over from before):

garrett at thinkpad{29}> cat ../locale2/log/log.2011-04-02.20:14/mail_msg

==== Nightly distributed build started:   Sat Apr  2 18:15:09 PDT 2011
====
==== Nightly distributed build completed: Sat Apr  2 20:14:41 PDT 2011
====

==== Total build time ====

real    1:59:32

==== Build environment ====

/usr/bin/uname
SunOS thinkpad 5.11 locale2 i86pc i386 i86pc

/opt/SUNWspro/bin/dmake
dmake: Sun Distributed Make 7.8 SunOS_i386 Patch 126504-01 2007/07/19
number of concurrent jobs = 10

32-bit compiler
/opt/onbld/bin/i386/cw -_cc
cw version 1.29
primary: /opt/SUNWspro/bin/cc
cc: Sun C 5.9 SunOS_i386 Patch 124868-10 2009/04/30
shadow: /usr/sfw/bin/gcc
gcc (GCC) 3.4.3 (csl-sol210-3_4-20050802)

64-bit compiler
/opt/onbld/bin/i386/cw -_cc
cw version 1.29
primary: /opt/SUNWspro/bin/cc
cc: Sun C 5.9 SunOS_i386 Patch 124868-10 2009/04/30
shadow: /usr/sfw/bin/gcc
gcc (GCC) 3.4.3 (csl-sol210-3_4-20050802)

/usr/java/bin/javac
java full version "1.6.0_21-b06"

/usr/ccs/bin/as
as: Sun Compiler Common 12 SunOS_i386 snv_121 08/03/2009

/usr/ccs/bin/ld
ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1726

Build project:  group.staff
Build taskid:   142

==== Nightly argument issues ====


==== Build version ====

locale2

==== Make clobber ERRORS ====


==== Make tools clobber ERRORS ====


==== Tools build errors ====


==== Build errors (DEBUG) ====


==== Build warnings (DEBUG) ====


==== Elapsed build time (DEBUG) ====

real  1:15:07.2
user  6:40:38.3
sys   1:18:02.1

==== Build noise differences (DEBUG) ====


==== package build errors (DEBUG) ====


==== Validating manifests against proto area ====


==== Check ELF runtime attributes ====


==== Diff ELF runtime attributes (since last build) ====


==== 'dmake lint' of src ERRORS ====


==== Elapsed time of 'dmake lint' of src ====

real    27:30.2
user  1:37:57.2
sys     30:52.7

==== lint warnings src ====

"../common/be_utils.c", line 3525: warning: argument unused in function:
pool_mntpt in be_create_menu (E_FUNC_ARG_UNUSED)

==== lint noise differences src ====


==== cstyle/hdrchk errors ====


==== Find core files ====


==== Check lists of files ====


==== Impact on file permissions ====






More information about the Advocates mailing list