Re: [PATCH 1/5] watchdog: fix error handling in proc_watchdog_thresh()

From: Aaron Tomlin
Date: Tue Sep 29 2015 - 02:40:09 EST


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 <uobergfe@xxxxxxxxxx>
> ---
> 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 <atomlin@xxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature