Takashi Ikebe <[email protected]> writes:
> The patch was over 50k, so I separate it to each architecture and in line..
>
> This patch add function called "Live patching" which is defined on
> OSDL's carrier grade linux requiremnt definition to linux 2.6.11.7 kernel.
> The live patching allows process to patch on-line (without restarting
> process) on i386 and x86_64 architectures, by overwriting jump assembly
> code on entry point of functions which you want to fix, to patched
> functions.
How exactly is this different from ptrace?
Seems just like a ptrace memcpy extension
Is the patching really that time critical that you cant do it
with normal ptrace?
> + if(((current->uid != tsk->euid) ||
> + (current->uid != tsk->suid) ||
> + (current->uid != tsk->uid) ||
> + (current->gid != tsk->egid) ||
> + (current->gid != tsk->sgid) ||
> + (current->gid != tsk->gid)) && !capable(CAP_SYS_PANNUS)) {
> + // invalid user in sys_accesspvm
> + return -EPERM;
> + }
> +> + p = vmalloc(len);
This needs a limit.
annus-x86_64/arch/x86_64/kernel/entry.S
> --- linux-2.6.11.7-vanilla/arch/x86_64/kernel/entry.S 2005-04-08 03:57:30.000000000 +0900
> +++ linux-2.6.11.7-pannus-x86_64/arch/x86_64/kernel/entry.S 2005-04-18 10:45:47.000000000 +0900
> @@ -214,6 +214,8 @@ sysret_check:
> /* Handle reschedules */
> /* edx: work, edi: workmask */
> sysret_careful:
> + cmpl $0,threadinfo_inipending(%rcx)
> + jne sysret_init
Put the check into the normal notify_resume work mask, not adding
a separate check into this critical fast path.
> CFI_ENDPROC
>
> /*
> + * In the case restorer calls rt_handlereturn, collect and store registers,
> + * and call rt_handlereturn with stored register struct.
> + */
> +ENTRY(stub_rt_handlereturn)
This seems quite pointless since ptrace and can change all registers
in a child.
Didnt review more.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]