Back to results
US 2015/0178071 A1Published application
Runtime patching of an operating system (os) without stopping execution
AssigneeNovell, Inc.
InventorsVojtech Pavlík, Jirí Kosina
Life of this patent
Estimating the term…
Abstract
Techniques for runtime patching of an OS without stopping execution of the OS are presented. When a patch function is needed, it is loaded into the OS code. Threads of the OS that are in kernel mode have a flag set and a jump is inserted at a location of an old function. When the old function is accessed, the jump uses a trampoline to check the flag, if the flag is set, processing returns to the old function; otherwise processing jumps to a given location of the patch. Flags are unset when exiting or entering the kernel mode.
Claims20
A method, comprising:
- loading, via the device, a patch function for an existing function within a kernel of an Operating System (OS);
- setting, via the device, a flag for each kernel thread active within the Operating System (OS);
- unsetting, via the device, each flag when any OS thread enters the kernel or when any OS thread exits the kernel;
- and
- inspecting, via the device, each flag for each kernel thread that attempts to execute the existing function and when that flag is set pass that kernel thread to the existing function for execution but when that flag is unset pass that kernel thread to the patch function without halting the OS.
2 more elements
A method, comprising:
- inserting, via a device, labels before locations of functions within a kernel of an Operating System (OS) when the OS is compiled;
- replacing, via the device, the labels with no operations (NOPs) when the OS is booted;
- and
- loading, via the device, a patch function for a particular one of the functions;
- and
- gradually migrating, via the device, all references to the particular one of the functions within the kernel to call the patch function using particular NOPs for the particular one of the functions without halting the OS during migration.
3 more elements
A system, comprising:
- a server memory configured to update kernel functions of an Operating System (OS) without halting the OS by gradually updating the kernel functions to ensure consistency of operation for threads of the OS that are passing between kernel mode and user mode.
Dependencies are inferred from the claim text.