On Wed, 28 Apr 2021 10:42:54 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
wrote:

>> This PR contains the API and implementation changes for JEP-412 [1]. A more 
>> detailed description of such changes, to avoid repetitions during the review 
>> process, is included as a separate comment.
>> 
>> [1] - https://openjdk.java.net/jeps/412
>
> Maurizio Cimadamore has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Address first batch of review comments

I reviewed the `--enable-native-access` related change that looks fine.

> Access to restricted methods from any other module not in the list is 
> disallowed and will result in an IllegalAccessException.

I think you meant to say `IllegalCallerException` instead of 
`IllegalAccessException`.  Also do you intend to have javadoc to generate 
`@throw IllegalCallerException` for  the restricted methods automatically 
besides the javadoc description?

Making the restricted methods as `@CallerSensitive` in order to get the caller 
class for native access check is the proper approach.   However, some interface 
methods are restricted methods such as `CLinker::downcallHandle` whose the 
implementation method is `@CallerSensitive`.    I concern with the security 
issue with method handle and type aliasing.   On the other hand, `CLinker` is a 
sealed interface and only implemented by the platform and so it's less of a 
concern.   I think the interface method should also be `@CallerSensitive` so 
that for example a method handle for `CLinker::downcallHandle` will be produced 
with the proper caller-sensitive context.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3699

Reply via email to