[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LSU.2.20.1701101131510.28763@pobox.suse.cz>
Date: Tue, 10 Jan 2017 11:32:12 +0100 (CET)
From: Miroslav Benes <mbenes@...e.cz>
To: Josh Poimboeuf <jpoimboe@...hat.com>
cc: jeyu@...hat.com, jikos@...nel.org, pmladek@...e.com,
corbet@....net, live-patching@...r.kernel.org,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Documentation/livepatch: remove the limitation for
schedule() patching
On Mon, 9 Jan 2017, Josh Poimboeuf wrote:
> On Mon, Jan 09, 2017 at 01:50:19PM +0100, Miroslav Benes wrote:
> > There is still one thing which I don't understand. Why __schedule()
> > (patched or the original) is not on the stack. The actual "sleep"
> > should happen in __switch_to_asm() which is C function now. And there is a
> > call to __switch_to_asm() in __schedule(). __schedule() thus should be on
> > the stack, shouldn't it? What am I missing? __switch_to_asm() pushes %rbp
> > on the stack...
>
> Ah, this is an unwinder bug. get_frame_pointer() needs to be fixed so
> that for an inactive task it returns a pointer to inactive_task_frame.bp
> rather than the value of inactive_task_frame.bp itself. Will fix it.
And it works with the fix. Thanks.
Miroslav
Powered by blists - more mailing lists