Comment # 9 on bug 1042933 from
(In reply to Thomas Blume from comment #7)
> Still, the  kernel panics in watchdog_set_timeout, e.g. before
> watchdog_close is reached.

Hmm, I guess the timeout is too small and the timer fires before the
test can stop the watchdog timer through the two methods I mentioned.

> I saw another message on the console like:
> 
> "unexpected close, not stopping watchdog"

This message basically says that - "you didn't say the magic word in
order to stop me" :-)

And the magic word is 42:

static int hpwdt_release(struct inode *inode, struct file *file)
{
        /* Stop the watchdog */
        if (expect_release == 42) {
                hpwdt_stop();
        } else {
                pr_crit("Unexpected close, not stopping watchdog!\n");
                hpwdt_ping();
        }

but even in that case, it does hpwdt_ping() which reloads the timer.
Which is strange, why would an NMI still happen...

> So, I guess this is the reason why the watchdog timer expires, triggering
> the panic.

So I still am unclear as to why exactly the NMI fires. The test sets
the watchdog timeout to 10 seconds. That would mean, the test runs for
longer than 10 seconds, yes?


You are receiving this mail because: