From: Jerry Hoemann <jerry.hoemann@hpe.com>
To: Shuah Khan <shuah@kernel.org>
Cc: erosca@de.adit-jv.com, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] selftests: watchdog: Add gettimeout and get|set pretimeout
Date: Tue, 25 Sep 2018 10:09:42 -0600 [thread overview]
Message-ID: <20180925160942.GA25620@anatevka.americas.hpqcorp.net> (raw)
In-Reply-To: <f8616e56-004a-e296-0f84-8ebd019ad027@kernel.org>
On Tue, Sep 25, 2018 at 09:50:18AM -0600, Shuah Khan wrote:
> >>> Also can you run this test as normal user?
> >>
> >> No. Must be run as root to open /dev/watchdog. When /dev/watchdog is opened, the
> >> WD is started and if not updated properly, the system will crash.
> >
> > Hmm. I don't understand why the system would panic if non-root user can't open the
> > device, at least in the context of this test.
> >
> > fd = open("/dev/watchdog", O_WRONLY);
> >
> > if (fd == -1) {
> > printf("Watchdog device not enabled.\n");
> > exit(-1);
> > }
> >
> >
> > Shouldn't it just exit based on the code above?
> >
> >>
> >
> >> "cat /dev/watchdog" is one of my favorite ways to crash a system. :) :)
> >
> > That doesn't sound great, if a non-root user can bring the system down!!
> >
>
> This got me concerned enough that I tried this with softdog. It behaved just
> the way I expected it.
>
> cat /dev/watchdog
> cat: /dev/watchdog: Permission denied
>
> Running the test as non-root does the following as per the current logic.
>
> watchdog-test -b
> Watchdog device not enabled.
>
> I think this logic could be improved to detect that a non-root user is running
> the test and print appropriate message.
>
> However, I am not seeing the behavior you are describing that "cat /dev/watchdog"
> panics the syste. Did you mean running a root which is expected unless you terminate
> before the timeout? If you are seeing this as non-root user on you system, the
> watchdog driver could be suspect.
>
> thanks,
> -- Shuah
Sorry, for misunderstanding. Let me rephrase:
When you asked if the test can be run as a normal user::
No. The test must be run as root to open /dev/watchdog as the permission
on /dev/watchdog allow only root to open it. The reason that we only
allow root to open /dev/watchdog is that it is trivial to crash
the system. Just open /dev/watchdog and don't update the watchdog.
One of my favorite ways to crash the system is to
as root "cat /dev/watchdog."
--
-----------------------------------------------------------------------------
Jerry Hoemann Software Engineer Hewlett Packard Enterprise
-----------------------------------------------------------------------------
next prev parent reply other threads:[~2018-09-25 16:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-21 22:55 [PATCH] selftests: watchdog: Add gettimeout and get|set pretimeout Jerry Hoemann
2018-09-21 23:42 ` Shuah Khan
2018-09-24 1:47 ` Jerry Hoemann
2018-09-24 20:42 ` Shuah Khan
2018-09-25 15:50 ` Shuah Khan
2018-09-25 16:09 ` Jerry Hoemann [this message]
2018-09-25 17:06 ` Jerry Hoemann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180925160942.GA25620@anatevka.americas.hpqcorp.net \
--to=jerry.hoemann@hpe.com \
--cc=erosca@de.adit-jv.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=shuah@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).