Re: [PATCH] livepatch: Remove reliable stacktrace check in klp_try_switch_task()

2018-07-16 Thread Jiri Kosina
On Thu, 12 Jul 2018, Kamalesh Babulal wrote:

> Support for immediate flag was removed by commit d0807da78e11
> ("livepatch: Remove immediate feature").  We bail out during
> patch registration for architectures, those don't support
> reliable stack trace. Remove the check in klp_try_switch_task(),
> as its not required.
> 
> Signed-off-by: Kamalesh Babulal 

Applied, thanks.

-- 
Jiri Kosina
SUSE Labs



Re: [PATCH] livepatch: Remove reliable stacktrace check in klp_try_switch_task()

2018-07-16 Thread Josh Poimboeuf
On Thu, Jul 12, 2018 at 01:35:06PM +0530, Kamalesh Babulal wrote:
> Support for immediate flag was removed by commit d0807da78e11
> ("livepatch: Remove immediate feature").  We bail out during
> patch registration for architectures, those don't support
> reliable stack trace. Remove the check in klp_try_switch_task(),
> as its not required.
> 
> Signed-off-by: Kamalesh Babulal 

Acked-by: Josh Poimboeuf 

> ---
>  kernel/livepatch/transition.c | 7 ---
>  1 file changed, 7 deletions(-)
> 
> diff --git a/kernel/livepatch/transition.c b/kernel/livepatch/transition.c
> index 7c6631e693bc..5bc349805e03 100644
> --- a/kernel/livepatch/transition.c
> +++ b/kernel/livepatch/transition.c
> @@ -310,13 +310,6 @@ static bool klp_try_switch_task(struct task_struct *task)
>   return true;
>  
>   /*
> -  * For arches which don't have reliable stack traces, we have to rely
> -  * on other methods (e.g., switching tasks at kernel exit).
> -  */
> - if (!klp_have_reliable_stack())
> - return false;
> -
> - /*
>* Now try to check the stack for any to-be-patched or to-be-unpatched
>* functions.  If all goes well, switch the task to the target patch
>* state.
> -- 
> 2.7.4
> 

-- 
Josh


Re: [PATCH] livepatch: Remove reliable stacktrace check in klp_try_switch_task()

2018-07-16 Thread Josh Poimboeuf
On Sun, Jul 15, 2018 at 01:05:56PM +0530, Kamalesh Babulal wrote:
> On Saturday 14 July 2018 12:07 AM, Josh Poimboeuf wrote:
> > > We bail out during patch registration for architectures, those don't
> > > support reliable stack trace.
> > 
> > Does anybody know if that change was intentional?  I thought the plan
> > was to allow non-consistency-model arches to still use livepatch, and
> > that they'd just have to 'force' patches to completion instead.  That
> > seems a little more forgiving.
> > 
> 
> The initial proposal was to allow 'force' feature on architectures
> without HAVE_RELIABLE_STACKTRACE support and use pr_notice() to warn
> user about the non-availability of consistency model. It was argued
> against, as it will encourage people to use it as an alternative instead
> of adding HAVE_RELIABLE_STACKTRACE support to the kernel.

Ok, looking through the archives, I found it:

  https://lkml.kernel.org/r/20171221151428.rt4dlizxb5nqh...@pathway.suse.cz

I'm not sure I agree with that conclusion, but nobody has complained
about it, so it's probably fine...

-- 
Josh


Re: [PATCH] livepatch: Remove reliable stacktrace check in klp_try_switch_task()

2018-07-15 Thread Kamalesh Babulal

On Saturday 14 July 2018 12:07 AM, Josh Poimboeuf wrote:

We bail out during patch registration for architectures, those don't
support reliable stack trace.


Does anybody know if that change was intentional?  I thought the plan
was to allow non-consistency-model arches to still use livepatch, and
that they'd just have to 'force' patches to completion instead.  That
seems a little more forgiving.



The initial proposal was to allow 'force' feature on architectures
without HAVE_RELIABLE_STACKTRACE support and use pr_notice() to warn
user about the non-availability of consistency model. It was argued
against, as it will encourage people to use it as an alternative instead
of adding HAVE_RELIABLE_STACKTRACE support to the kernel.

--
cheers,
Kamalesh.



Re: [PATCH] livepatch: Remove reliable stacktrace check in klp_try_switch_task()

2018-07-13 Thread Josh Poimboeuf
> We bail out during patch registration for architectures, those don't
> support reliable stack trace.

Does anybody know if that change was intentional?  I thought the plan
was to allow non-consistency-model arches to still use livepatch, and
that they'd just have to 'force' patches to completion instead.  That
seems a little more forgiving.

-- 
Josh


Re: [PATCH] livepatch: Remove reliable stacktrace check in klp_try_switch_task()

2018-07-12 Thread Miroslav Benes
On Thu, 12 Jul 2018, Kamalesh Babulal wrote:

> Support for immediate flag was removed by commit d0807da78e11
> ("livepatch: Remove immediate feature").  We bail out during
> patch registration for architectures, those don't support
> reliable stack trace. Remove the check in klp_try_switch_task(),
> as its not required.
> 
> Signed-off-by: Kamalesh Babulal 

Acked-by: Miroslav Benes 

M


Re: [PATCH] livepatch: Remove reliable stacktrace check in klp_try_switch_task()

2018-07-12 Thread Petr Mladek
On Thu 2018-07-12 13:35:06, Kamalesh Babulal wrote:
> Support for immediate flag was removed by commit d0807da78e11
> ("livepatch: Remove immediate feature").  We bail out during
> patch registration for architectures, those don't support
> reliable stack trace. Remove the check in klp_try_switch_task(),
> as its not required.
> 
> Signed-off-by: Kamalesh Babulal 

Good catch!

Reviewed-by: Petr Mladek 

Best Regards,
Petr


[PATCH] livepatch: Remove reliable stacktrace check in klp_try_switch_task()

2018-07-12 Thread Kamalesh Babulal
Support for immediate flag was removed by commit d0807da78e11
("livepatch: Remove immediate feature").  We bail out during
patch registration for architectures, those don't support
reliable stack trace. Remove the check in klp_try_switch_task(),
as its not required.

Signed-off-by: Kamalesh Babulal 
---
 kernel/livepatch/transition.c | 7 ---
 1 file changed, 7 deletions(-)

diff --git a/kernel/livepatch/transition.c b/kernel/livepatch/transition.c
index 7c6631e693bc..5bc349805e03 100644
--- a/kernel/livepatch/transition.c
+++ b/kernel/livepatch/transition.c
@@ -310,13 +310,6 @@ static bool klp_try_switch_task(struct task_struct *task)
return true;
 
/*
-* For arches which don't have reliable stack traces, we have to rely
-* on other methods (e.g., switching tasks at kernel exit).
-*/
-   if (!klp_have_reliable_stack())
-   return false;
-
-   /*
 * Now try to check the stack for any to-be-patched or to-be-unpatched
 * functions.  If all goes well, switch the task to the target patch
 * state.
-- 
2.7.4