All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@redhat.com>
To: Nikanth Karthikesan <knikanth@suse.de>
Cc: linux-kernel@vger.kernel.org, ananth@in.ibm.com,
	davem@davemloft.net, contact@ksplice.com, jbarnold@ksplice.com,
	tabbott@ksplice.com, wdaher@ksplice.com, andersk@ksplice.com
Subject: Re: [RFC] kreplace: Rebootless kernel updates
Date: Fri, 21 Nov 2008 09:39:52 -0500	[thread overview]
Message-ID: <4926C838.8080105@redhat.com> (raw)
In-Reply-To: <200811211720.26394.knikanth@suse.de>

Hi Nikanth,

Nikanth Karthikesan wrote:
> This RFC patch adds support for limited form of rebootless kernel patching 
> even without building the entire kernel.
> 
> When looking for a shortcut to avoid the rebuild/reboot cycle when hacking the  
> kernel - the ksplice[1] was posted. This patch extends kprobes to do something 
> similar, which would require even lesser time to _experiment_ with the running 
> kernel. 
> 
> This small patch extends jprobes so that the jprobe's handler is executed but 
> skips executing the actual function. But this has its own limitations such as 
> Cannot access symbols not exported for modules (ofcourse hacks like 
> pointers[2] can be used.), problems related to return values[3], etc... This 
> is currently a x86_64 only _hack_.

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 */
}

Thank you,


-- 
Masami Hiramatsu

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

e-mail: mhiramat@redhat.com


  parent reply	other threads:[~2008-11-21 14:42 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-21 11:50 [RFC] kreplace: Rebootless kernel updates Nikanth Karthikesan
2008-11-21 13:38 ` Ananth N Mavinakayanahalli
2008-11-21 16:04   ` Balbir Singh
2008-11-21 17:29     ` Chris Friesen
2008-11-24 11:07     ` Nikanth Karthikesan
2008-11-24 11:07   ` Nikanth Karthikesan
2008-11-21 14:39 ` Masami Hiramatsu [this message]
2008-11-24 11:07   ` Nikanth Karthikesan
2008-11-24 15:15     ` Masami Hiramatsu
2008-11-26  2:48       ` Nikanth K
2008-11-21 20:19 ` Anders Kaseorg
2008-11-22  3:46 ` Jeff Arnold
2008-11-23 19:39   ` Andi Kleen
2008-11-23 20:53     ` Jeff Arnold
2008-11-24 11:07   ` Nikanth Karthikesan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4926C838.8080105@redhat.com \
    --to=mhiramat@redhat.com \
    --cc=ananth@in.ibm.com \
    --cc=andersk@ksplice.com \
    --cc=contact@ksplice.com \
    --cc=davem@davemloft.net \
    --cc=jbarnold@ksplice.com \
    --cc=knikanth@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tabbott@ksplice.com \
    --cc=wdaher@ksplice.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.