On Fri, Apr 26, 2019 at 12:45:49AM +0300, Mike Rapoport wrote: > The initial SCI implementation allows access to any kernel data, but it > limits access to the code in the following way: > * calls and jumps to known code symbols without offset are allowed > * calls and jumps into a known symbol with offset are allowed only if that > symbol was already accessed and the offset is in the next page > * all other code access are blocked
So if you have a large function and an in-function jump skips a page you're toast. Why not employ the instruction decoder we have and unconditionally allow all direct JMP/CALL but verify indirect JMP/CALL and RET ? Anyway, I'm fearing the overhead of this one, this cannot be fast.