On Mon 2015-09-28 22:44 +0200, Ulrich Obergfell wrote:
> Restore the previous value of watchdog_thresh _and_ sample_period
> if proc_watchdog_update() returns an error. The variables must be
> consistent to avoid false positives of the lockup detectors.
> 
> Signed-off-by: Ulrich Obergfell <uober...@redhat.com>
> ---
>  kernel/watchdog.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
> index 64ed1c3..cd9a504 100644
> --- a/kernel/watchdog.c
> +++ b/kernel/watchdog.c
> @@ -914,13 +914,14 @@ int proc_watchdog_thresh(struct ctl_table *table, int 
> write,
>               goto out;
>  
>       /*
> -      * Update the sample period.
> -      * Restore 'watchdog_thresh' on failure.
> +      * Update the sample period. Restore on failure.
>        */
>       set_sample_period();
>       err = proc_watchdog_update();
> -     if (err)
> +     if (err) {
>               watchdog_thresh = old;
> +             set_sample_period();
> +     }
>  out:
>       mutex_unlock(&watchdog_proc_mutex);
>       return err;

Reviewed-by: Aaron Tomlin <atom...@redhat.com>

Attachment: signature.asc
Description: PGP signature

Reply via email to