Method and system for stealing interrupt vectors
First Claim
1. A computer implemented method for stealing interrupt vectors from an operating system, the computer implemented method comprising:
- copying, by a kernel module, a plurality of custom interrupt handler extensions from the kernel module into an allocated block of memory;
copying, by the kernel module, a plurality of operating system interrupt handlers from an interrupt vector memory location into a plurality of reserved spaces in the allocated block of memory, each of the plurality of reserved spaces is located directly after each of the plurality of custom interrupt handler extensions within the allocated block of memory so that each of the copied plurality of operating system interrupt handlers is contiguous to its corresponding custom interrupt handler extension;
responsive to copying the plurality of operating system interrupt handlers into the plurality of reserved spaces in the allocated block of memory, copying, by the kernel module, a plurality of custom interrupt handlers from the kernel module over the plurality of operating system interrupt handlers in the interrupt vector memory location, wherein the plurality of custom interrupt handlers after being copied into the interrupt vector memory location handle interrupts received by the operating system;
generating a kernel thread for each of one or more processing units to form a generated kernel thread for each of the one or more processing units;
disabling, by the kernel module, external interrupts in each generated kernel thread;
determining, by the kernel module, if a master processing unit is finished copying the plurality of custom interrupt handlers over the plurality of operating system interrupt handlers; and
responsive to determining that the master processing unit is finished copying the plurality of custom interrupt handlers over the plurality of operating system interrupt handlers, restoring, by the kernel module, the external interrupts.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for stealing interrupt vectors from an operating system. Custom interrupt handler extensions are copied into an allocated block of memory from a kernel module. Also, operating system interrupt handlers are copied into a reserved space in the allocated block of memory from an interrupt vector memory location. In response to copying the operating system interrupt handlers into the reserved space in the allocated block of memory, custom interrupt handlers from the kernel module are copied over the operating system interrupt handlers in the interrupt vector memory location. The custom interrupt handlers after being copied into the interrupt vector memory location handle all interrupts received by the operating system.
-
Citations
16 Claims
-
1. A computer implemented method for stealing interrupt vectors from an operating system, the computer implemented method comprising:
-
copying, by a kernel module, a plurality of custom interrupt handler extensions from the kernel module into an allocated block of memory; copying, by the kernel module, a plurality of operating system interrupt handlers from an interrupt vector memory location into a plurality of reserved spaces in the allocated block of memory, each of the plurality of reserved spaces is located directly after each of the plurality of custom interrupt handler extensions within the allocated block of memory so that each of the copied plurality of operating system interrupt handlers is contiguous to its corresponding custom interrupt handler extension; responsive to copying the plurality of operating system interrupt handlers into the plurality of reserved spaces in the allocated block of memory, copying, by the kernel module, a plurality of custom interrupt handlers from the kernel module over the plurality of operating system interrupt handlers in the interrupt vector memory location, wherein the plurality of custom interrupt handlers after being copied into the interrupt vector memory location handle interrupts received by the operating system; generating a kernel thread for each of one or more processing units to form a generated kernel thread for each of the one or more processing units; disabling, by the kernel module, external interrupts in each generated kernel thread; determining, by the kernel module, if a master processing unit is finished copying the plurality of custom interrupt handlers over the plurality of operating system interrupt handlers; and responsive to determining that the master processing unit is finished copying the plurality of custom interrupt handlers over the plurality of operating system interrupt handlers, restoring, by the kernel module, the external interrupts. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data processing system for stealing interrupt vectors from an operating system, comprising:
-
a bus system; a storage device connected to the bus system, wherein the storage device includes a set of instructions; one or more processing units connected to the bus system, wherein at least one of the processing units executes the set of instructions to copy, by a kernel module, a plurality of custom interrupt handler extensions from the kernel module into an allocated block of memory;
copy, by the kernel module, a plurality of operating system interrupt handlers from an interrupt vector memory location into a plurality of reserved spaces in the allocated block of memory, each of the plurality of reserved spaces is located directly after each of the plurality of custom interrupt handler extensions within the allocated block of memory so that each of the copied plurality of operating system interrupt handlers is contiguous to its corresponding custom interrupt handler extension; and
copy, by the kernel module, a plurality of custom interrupt handlers from the kernel module over the plurality of operating system interrupt handlers in the interrupt vector memory location in response to copying the plurality of operating system interrupt handlers into the plurality of reserved spaces in the allocated block of memory, wherein the plurality of custom interrupt handlers after being copied into the interrupt vector memory location handle interrupts received by the operating system;a master processing unit; wherein the at least one of the processing units executes the set of instructions to generate a kernel thread for each of the one or more processing units to form a generated kernel thread for each of the one or more processing units;
disable, by the kernel module, external interrupts in each generated kernel thread;
determine, by the kernel module, if the master processing unit is finished copying the plurality of custom interrupt handlers over the plurality of operating system interrupt handlers; and
responsive to determining that the master processing unit is finished copying the plurality of custom interrupt handlers over the plurality of operating system interrupt handlers, restore, by the kernel module, the external interrupts.
-
-
14. A computer program product stored on a computer readable storage medium having computer usable program code embodied thereon that is executable by a computer for stealing interrupt vectors from an operating system, the computer program product comprising:
-
computer usable program code configured to copy, by a kernel module, a plurality of custom interrupt handler extensions from the kernel module into an allocated block of memory; computer usable program code configured to copy, by the kernel module, a plurality of operating system interrupt handlers from an interrupt vector memory location into a plurality of reserved spaces in the allocated block of memory, each of the plurality of reserved spaces is located directly after each of the plurality of custom interrupt handler extensions within the allocated block of memory so that each of the copied plurality of operating system interrupt handlers is contiguous to its corresponding custom interrupt handler extension; computer usable program code configured to copy, by the kernel module, a plurality of custom interrupt handlers from the kernel module over the plurality of operating system interrupt handlers in the interrupt vector memory location in response to copying the plurality of operating system interrupt handlers into the plurality of reserved spaces in the allocated block of memory, wherein the plurality of custom interrupt handlers after being copied into the interrupt vector memory location handle interrupts received by the operating system; computer usable program code configured to generate a kernel thread for each of one or more processing units to form a generated kernel thread for each of the one or more processing units; computer usable program code configured to disable, by the kernel module, external interrupts in each generated kernel thread; computer usable program code configured to determine, by the kernel module, if a master processing unit is finished copying the plurality of custom interrupt handlers over the plurality of operating system interrupt handlers; and responsive to determining that the master processing unit is finished copying the plurality of custom interrupt handlers over the plurality of operating system interrupt handlers, computer usable program code configured to restore, by the kernel module, the external interrupts. - View Dependent Claims (15, 16)
-
Specification