TARGET INJECTION SAFE METHOD FOR INLINING REGISTRATION CALLS

    公开(公告)号:US20210011738A1

    公开(公告)日:2021-01-14

    申请号:US16746731

    申请日:2020-01-17

    Applicant: VMware, Inc.

    Abstract: A method of redirecting an indirect call in a callback list associated with a list of functions that are registered, includes the steps of: upon registering the list of functions, determining a list of function pointers, each of which corresponds to an address in an associated callback; for each function pointer in the list of function pointers, adding a direct call instruction to the registration trampoline corresponding to the associated callback of the function pointer; and upon invoking the associated callback of one of the function pointers in the list of function pointers, invoking the corresponding direct call instruction in the registration trampoline.

    TARGET INJECTION SAFE METHOD FOR DYNAMICALLY INLINING BRANCH PREDICTIONS

    公开(公告)号:US20210011728A1

    公开(公告)日:2021-01-14

    申请号:US16521407

    申请日:2019-07-24

    Applicant: VMware, Inc.

    Abstract: A method for redirecting an indirect call in an operating system kernel to a direct call is disclosed. The direct calls are contained in trampoline code called an inline jump switch (IJS) or an outline jump switch (OJS). The IJS and OJS can operate in either a use mode, redirecting an indirect call to a direct call, a learning and update mode or fallback mode. In the learning and update mode, target addresses in a trampoline code template are learned and updated by a jump switch worker thread that periodically runs as a kernel process. When building the kernel binary, a plug-in is integrated into the kernel. The plug-in replaces call sites with a trampoline code template containing a direct call so that the template can be later updated by the jump switch worker thread.

    TARGET INJECTION SAFE METHOD FOR INLINING INSTANCE-DEPENDENT CALLS

    公开(公告)号:US20210011722A1

    公开(公告)日:2021-01-14

    申请号:US16521396

    申请日:2019-07-24

    Applicant: VMware, Inc.

    Abstract: A method for redirecting indirect calls to direct calls on a per-process basis includes accessing a memory code region of an operating system kernel that has a different mapping for each of one or more user processes running on the operating system kernel. The memory code region stores a first trampoline that refers directly to a second trampoline, which is an inline or outline trampoline that is correlated with a particular user process. Executing the first trampoline invokes the second trampoline, as a result of which the indirect calls are redirected to direct calls.

Patent Agency Ranking