Re: [RFC] kreplace: Rebootless kernel updates

From: Masami Hiramatsu
Date: Mon Nov 24 2008 - 10:16:31 EST


Nikanth Karthikesan wrote:
> On Friday 21 November 2008 20:09:52 Masami Hiramatsu wrote:
>> Hi Nikanth,
>>
>> Nikanth Karthikesan wrote:
>
>> Hmm,
>> Would you like to replace a function to another function?
>> If so, AFAIK, you can do that with kprobe and below pre_handler.
>> (see booster enabled path in setup_singlestep())
>>
>> pre_handler(...)
>> {
>> reset_current_kprobe(); /* this kprobe doesn't need any more */
>> regs->ip = new_function; /* change IP to new function */
>> preempt_enable_no_resched(); /* recover preempt count */
>> return 1; /* No need to setup singlestep */
>> }
>>
>>
>
> So, am I seeing worries to enable something, which is already possible, but
> just not documented?

Actually, you can do this with kprobes, but not documented,
because the regs->ip setup depends on arch. (above code is only for
x86/x86-64).

I think it's easier to just provide above pre_handler for each arch than
jprobe-based kreplace approach.

Thank you,

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@xxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/