Patents by Inventor Matthew John Woolman

Matthew John Woolman has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11989280
    Abstract: Handling a memory fault based on detecting whether a memory pointer was invalidated by a pointer authentication (PA) failure. After an access to a memory pointer causes a memory fault, detecting that the memory pointer was invalidated by a PA failure includes creating a new memory pointer by replacing reserved bits of the memory pointer with a default value, and determining that the new memory pointer corresponds to a memory address that falls within executable memory. This determination includes determining that the memory address is within an executable memory page, determining that a call instruction is stored at a prior memory address that immediately precedes the memory address, and/or determining that the memory address corresponds to a code section of an executable file. The PA failure is handled based on logging the PA failure, terminating the application program, and/or resuming execution at an instruction stored at the memory address.
    Type: Grant
    Filed: September 17, 2021
    Date of Patent: May 21, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jin Lin, Jason Lin, Matthew John Woolman, Mehmet Iyigun
  • Patent number: 11861364
    Abstract: Performing shadow stack functionality for a thread in an audit mode includes initiating execution of a thread at the processor. Execution of the thread includes initiating execution of executable code of an application binary as part of the thread and enabling shadow stack functionality for the thread in an audit mode. Based at least on the execution of the thread in the audit mode, at least a portion of the shadow stack is enabled to be a circular stack. In response to determining that usage of the shadow stack has reached the defined threshold, one or more currently used entries of the shadow stack are overwritten, preventing the shadow stack from overflowing.
    Type: Grant
    Filed: June 19, 2021
    Date of Patent: January 2, 2024
    Inventors: Jin Lin, Mehmet Iyigun, Jason Lin, Matthew John Woolman
  • Publication number: 20230088081
    Abstract: Handling a memory fault based on detecting whether a memory pointer was invalidated by a pointer authentication (PA) failure. After an access to a memory pointer causes a memory fault, detecting that the memory pointer was invalidated by a PA failure includes creating a new memory pointer by replacing reserved bits of the memory pointer with a default value, and determining that the new memory pointer corresponds to a memory address that falls within executable memory. This determination includes determining that the memory address is within an executable memory page, determining that a call instruction is stored at a prior memory address that immediately precedes the memory address, and/or determining that the memory address corresponds to a code section of an executable file. The PA failure is handled based on logging the PA failure, terminating the application program, and/or resuming execution at an instruction stored at the memory address.
    Type: Application
    Filed: September 17, 2021
    Publication date: March 23, 2023
    Inventors: Jin LIN, Jason LIN, Matthew John WOOLMAN, Mehmet IYIGUN
  • Publication number: 20220283864
    Abstract: Described are examples for tracking memory usage of a driver. A memory allocation request related to the driver to allocate a portion of memory for the driver can be traced in a kernel mode of an operating system. One or more associated allocation parameters can be recorded, and an allocation history of the driver over a period of time can be reported during execution of the driver and based on the one or more allocation parameters indicated by the memory allocation request.
    Type: Application
    Filed: March 4, 2021
    Publication date: September 8, 2022
    Inventors: Hyuk Joon KWON, Sandeep REPAKA, Andrew M. KLUEMKE, Jakob F. LICHTENBERG, Sebastian LERNER, Matthew John WOOLMAN, Swati KANCHAN
  • Publication number: 20210311740
    Abstract: Performing shadow stack functionality for a thread in an audit mode includes initiating execution of a thread at the processor. Execution of the thread includes initiating execution of executable code of an application binary as part of the thread and enabling shadow stack functionality for the thread in an audit mode. Based at least on the execution of the thread in the audit mode, at least a portion of the shadow stack is enabled to be a circular stack. In response to determining that usage of the shadow stack has reached the defined threshold, one or more currently used entries of the shadow stack are overwritten, preventing the shadow stack from overflowing.
    Type: Application
    Filed: June 19, 2021
    Publication date: October 7, 2021
    Inventors: Jin LIN, Mehmet IYIGUN, Jason LIN, Matthew John WOOLMAN
  • Publication number: 20170344297
    Abstract: A computing system includes one or more processors and a system memory that stores computer executable instructions that can be executed by the processors. The system accesses from one or more memory requests a unique identifier. The unique identifier identifies a system entity that requests an allocation of memory resources. The system maps the unique identifier to a specific memory resource allocation. This specific memory resource allocation is attributable to the system entity. The specific memory resource allocation is associated with one or more memory policies that specify in what manner the specific memory resource allocation is to be allocated to the system entity. The system causes the allocation of the specific memory resource allocation to the system entity based on the one or more memory policies.
    Type: Application
    Filed: May 26, 2016
    Publication date: November 30, 2017
    Inventors: Matthew John Woolman, Mehmet lyigun