Messages in this thread Patch in this message | | | From | Eugeniu Rosca <> | Subject | [PATCH v3 1/2] selftests: watchdog: Validate optional file argument | Date | Tue, 17 Sep 2019 20:40:22 +0200 |
| |
From: "George G. Davis" <george_davis@mentor.com>
The newly added optional file argument does not validate if the file is indeed a watchdog, e.g.:
./watchdog-test -f /dev/zero Watchdog Ticking Away!
Fix it by confirming that the WDIOC_GETSUPPORT ioctl succeeds.
Fixes: c3f2490d6e9257 ("selftests: watchdog: Add optional file argument") Reported-by: Eugeniu Rosca <erosca@de.adit-jv.com> Signed-off-by: George G. Davis <george_davis@mentor.com> Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com> --- v3: - Used v1 as starting point and simplified commit description - Added Fixes tag (WARNING: commit id is from linux-next!) - No change in the contents - Applied cleanly to the same base as used in [v1] v2: - https://patchwork.kernel.org/patch/11147663/ v1: - https://patchwork.kernel.org/patch/11136283/ - Applied/tested on commit ce54eab71e210f ("kunit: fix failure to build without printk") of https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/log/?h=next --- tools/testing/selftests/watchdog/watchdog-test.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/tools/testing/selftests/watchdog/watchdog-test.c b/tools/testing/selftests/watchdog/watchdog-test.c index afff120c7be6..6ed822dc2222 100644 --- a/tools/testing/selftests/watchdog/watchdog-test.c +++ b/tools/testing/selftests/watchdog/watchdog-test.c @@ -97,6 +97,7 @@ int main(int argc, char *argv[]) int c; int oneshot = 0; char *file = "/dev/watchdog"; + struct watchdog_info info; setbuf(stdout, NULL); @@ -118,6 +119,16 @@ int main(int argc, char *argv[]) exit(-1); } + /* + * Validate that `file` is a watchdog device + */ + ret = ioctl(fd, WDIOC_GETSUPPORT, &info); + if (ret) { + printf("WDIOC_GETSUPPORT error '%s'\n", strerror(errno)); + close(fd); + exit(ret); + } + optind = 0; while ((c = getopt_long(argc, argv, sopts, lopts, NULL)) != -1) { -- 2.23.0
| |