On Fri, Oct 20, 2017 at 04:56:51PM +0200, Petr Mladek wrote:
> __klp_disable_patch() should never be called when the patch is not
> enabled. Let's add the same warning that we have in __klp_enable_patch().
> 
> This allows to remove the check when calling klp_pre_unpatch_callback().
> It was strange anyway because it repeatedly checked per-patch flag
> for each patched object.
> 
> Signed-off-by: Petr Mladek <pmla...@suse.com>
> ---
>  kernel/livepatch/core.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
> index eb134479c394..287f71e9dbfe 100644
> --- a/kernel/livepatch/core.c
> +++ b/kernel/livepatch/core.c
> @@ -282,6 +282,9 @@ static int __klp_disable_patch(struct klp_patch *patch)
>  {
>       struct klp_object *obj;
>  
> +     if (WARN_ON(!patch->enabled))
> +             return -EINVAL;
> +
>       if (klp_transition_patch)
>               return -EBUSY;
>  
> @@ -293,7 +296,7 @@ static int __klp_disable_patch(struct klp_patch *patch)
>       klp_init_transition(patch, KLP_UNPATCHED);
>  
>       klp_for_each_object(patch, obj)
> -             if (patch->enabled && obj->patched)
> +             if (obj->patched)
>                       klp_pre_unpatch_callback(obj);
>  
>       /*
> -- 
> 1.8.5.6

Looks reasonable to me and cleans up the klp_pre_unpatch_callback()
calling condition.

Acked-by: Joe Lawrence <joe.lawre...@redhat.com>

Reply via email to