On Fri 2019-12-13 10:52:32, Shuah Khan wrote:
On 12/13/19 1:34 AM, Petr Mladek wrote:
On Thu 2019-12-12 18:56:17, Shuah Khan wrote:
livepatch test configures the system and debug environment to run tests. Some of these actions fail without root access and test dumps several permission denied messages before it exits.
Fix it to check root uid and exit with skip code instead.
It works when I run the tests directly, e.g.
$> cd tools/testing/selftests/livepatch $> ./test-livepatch.sh
But I still get an error from the selftest framework when running make run_tests:
$> make run_tests TAP version 13 1..5 # selftests: livepatch: test-livepatch.sh /mnt/kernel/linux/tools/testing/selftests/kselftest/runner.sh: line 43: /dev/stdout: Permission denied not ok 1 selftests: livepatch: test-livepatch.sh # exit=1 # selftests: livepatch: test-callbacks.sh /mnt/kernel/linux/tools/testing/selftests/kselftest/runner.sh: line 43: /dev/stdout: Permission denied not ok 2 selftests: livepatch: test-callbacks.sh # exit=1 # selftests: livepatch: test-shadow-vars.sh /mnt/kernel/linux/tools/testing/selftests/kselftest/runner.sh: line 43: /dev/stdout: Permission denied not ok 3 selftests: livepatch: test-shadow-vars.sh # exit=1 # selftests: livepatch: test-state.sh /mnt/kernel/linux/tools/testing/selftests/kselftest/runner.sh: line 43: /dev/stdout: Permission denied not ok 4 selftests: livepatch: test-state.sh # exit=1 # selftests: livepatch: test-ftrace.sh /mnt/kernel/linux/tools/testing/selftests/kselftest/runner.sh: line 43: /dev/stdout: Permission denied not ok 5 selftests: livepatch: test-ftrace.sh # exit=1
The same problem is also in linux-next. Is this a know problem, please?
This isn't a known issue.
I am not seeing this problem on 5.5-rc1 and on linux-next with top commit 32b8acf85223448973ca0bf0ee8149a01410f3a0 (HEAD -> master, tag: next-20191213
I am curious what could be diffent in your env. that is causing it.
I did the test in kvm. I was connected there via ssh as "root". I tested the normal user with "su - user".
It seems that in this case /dev/stdout still points to a pseudo-terminal that is accessible only by root:
#> su - user $> echo hello >/dev/stdout -bash: /dev/stdout: Permission denied $> ls -l /dev/stdout lrwxrwxrwx 1 root root 15 Dec 13 16:08 /dev/stdout -> /proc/self/fd/1 $> ls -l /proc/self/fd/1 lrwx------. 1 user users 64 Dec 16 09:27 /proc/self/fd/1 -> /dev/pts/1 $> ls -l /dev/pts/1 crw--w---- 1 root tty 136, 1 Dec 16 09:27 /dev/pts/1
I do not see this problem when I ssh to the machine as the normal "user".
Best Regards, Petr