Messages in this thread | | | Subject | Re: Question: livepatch failed for new fork() task stack unreliable | From | "Wangshaobo (bobo)" <> | Date | Tue, 30 Jun 2020 21:04:12 +0800 |
| |
在 2020/6/5 9:51, Josh Poimboeuf 写道: > On Fri, Jun 05, 2020 at 09:26:42AM +0800, Wangshaobo (bobo) wrote: >>>> So, I want to ask is there any side effects if i modify like this ? this >>>> modification is based on >>>> >>>> your fix. It looks like ok with proper test. >>>> >>>> diff --git a/arch/x86/kernel/unwind_orc.c b/arch/x86/kernel/unwind_orc.c >>>> index e9cc182aa97e..ecce5051e8fd 100644 >>>> --- a/arch/x86/kernel/unwind_orc.c >>>> +++ b/arch/x86/kernel/unwind_orc.c >>>> @@ -620,6 +620,7 @@ void __unwind_start(struct unwind_state *state, struct >>>> task_struct *task, >>>> state->sp = task->thread.sp; >>>> state->bp = READ_ONCE_NOCHECK(frame->bp); >>>> state->ip = READ_ONCE_NOCHECK(frame->ret_addr); >>>> + state->signal = ((void *)state->ip == ret_from_fork); >>>> } >>>> >>>> diff --git a/arch/x86/kernel/unwind_orc.c b/arch/x86/kernel/unwind_orc.c >>>> index 7f969b2d240f..d7396431261a 100644 >>>> --- a/arch/x86/kernel/unwind_orc.c >>>> +++ b/arch/x86/kernel/unwind_orc.c >>>> @@ -540,7 +540,7 @@ bool unwind_next_frame(struct unwind_state *state) >>>> state->sp = sp; >>>> state->regs = NULL; >>>> state->prev_regs = NULL; >>>> - state->signal = ((void *)state->ip == ret_from_fork); >>>> + state->signal = false; >>>> break; >>> Yes that's correct. >> Hi, josh >> >> Could i ask when are you free to send the patch, all the tests are passed >> by. > I want to run some regression tests, so it will probably be next week.
Hi, josh
did you send this patch, I haven't received it up to now, so i ask u to confirm again.
thanks,
Wang ShaoBo
| |