/proc/kmsg can and will block if read under root.

Signed-off-by: Alexey Dobriyan <adobri...@gmail.com>
---

 tools/testing/selftests/proc/read.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/tools/testing/selftests/proc/read.c
+++ b/tools/testing/selftests/proc/read.c
@@ -54,7 +54,8 @@ static void f_reg(DIR *d, const char *filename)
        int fd;
        ssize_t rv;
 
-       fd = openat(dirfd(d), filename, O_RDONLY);
+       /* read from /proc/kmsg can block */
+       fd = openat(dirfd(d), filename, O_RDONLY|O_NONBLOCK);
        if (fd == -1)
                return;
        rv = read(fd, buf, sizeof(buf));

Reply via email to