Code Review Request for 7001094 Can't initialize SunPKCS11 more times than PKCS11 driver maxSessionCount

Valerie (Yu-Ching) Peng valerie.peng at oracle.com
Wed Apr 6 01:47:55 UTC 2011


Sean,

Do you have cycles to review this following fix:
7001094: Can't initialize SunPKCS11 more times than PKCS11 driver 
maxSessionCount

The webrev can be found at:
http://cr.openjdk.java.net/~valeriep/7001094/webrev.00/

While fixing the following issue
6918573: sun.security.pkcs11.P11RSACipher.finalize() is a scalability 
blocker
I replaced the private field "activeSessions" of SessionManager class w/ 
SessionRef.totalCount().
However, this leads to incorrect number of active sessions per provider 
when there are more than one PKCS11 provider being installed.
SessionRef.totalCount() is the total combined number of active sessions 
and isn't suitable for replacing the private field "activeSessions" 
which represents the number of active sessions of each PKCS11 provider. 
So, I have to revert back to using a private field "activeSessions" to 
keep track of the number of active sessions per provider.

No regression test added for this since our PKCS11 library, i.e. Solaris 
and NSS, do not have any limit on the number of active sessions, and 
would always pass even w/ the old code.
However, I've tested the fix by manually hardcoding a limit in the 
PKCS11 provider.

Thanks,
Valerie






More information about the security-dev mailing list