RFR 8229958: Provider.getService() scalability issue for legacy algorithms and message digests
Alan Bateman
Alan.Bateman at oracle.com
Fri Aug 23 09:08:51 UTC 2019
On 22/08/2019 01:01, Yang, Letu wrote:
> Hi,
>
> Please review the fix of https://bugs.openjdk.java.net/browse/JDK-8229958 where I made the change to allow majority of calls don't have to acquire the locks when checking the availability of the Provider object. Similar effort had been made in fixing https://bugs.openjdk.java.net/browse/JDK-7092821 , but it only helped the calls for new encryption algorithms. Xin had helped me to upload the CR: https://cr.openjdk.java.net/~xliu/8229958/01/webrev/ .
I skimmed through java/security/Provider.java and I think it will needs
further work. I suspect ensureLegacyParser (and parseLegacyPut) need to
replace legacyMap after the new map has been populated, otherwise you
risk a caller to getService accessing the new map before it has been
populated.
The change to ProviderConfig.getProvider looks okay but would be good
for someone more familiar with this code to also check it.
-Alan
More information about the security-dev
mailing list