[缺陷描述]: 在此记录kernel-selftests:kvm.mmio_warning_test用例失败,open("/dev/kvm", O_RDWR);因/dev/kvm不存在失败; 结论:因为alinux3为虚拟机,本身不存在/dev/kvm设备,这个测试在虚拟机上不支持,在此记录; 失败日志如下: # ./mmio_warning_test ==== Test Assertion Failure ==== lib/kvm_util.c:1819: f != NULL pid=1356073 tid=1356073 - No such file or directory 1 0x00000000004053ee: vm_is_unrestricted_guest at kvm_util.c:1819 2 0x000000000040239b: main at mmio_warning_test.c:101 3 0x00007fcf08f90201: ?? ??:0 4 0x000000000040247d: _start at ??:? Error in opening KVM dev file: 2 strace日志如下: # strace ./mmio_warning_test execve("./mmio_warning_test", ["./mmio_warning_test"], 0x7ffc7bb4a4c0 /* 27 vars */) = 0 brk(NULL) = 0xafe000 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe503f1ab0) = -1 EINVAL (Invalid argument) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38537, ...}) = 0 mmap(NULL, 38537, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f777612d000 close(3) = 0 openat(AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\201\0\0\0\0\0\0"..., 832) = 832 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0V\373\2074\205\340\240]\305xl \376\272\266\305"..., 68, 824) = 68 fstat(3, {st_mode=S_IFREG|0755, st_size=304664, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f777612b000 mmap(NULL, 135600, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7776109000 mmap(0x7f7776110000, 65536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f7776110000 mmap(0x7f7776120000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f7776120000 mmap(0x7f7776125000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x7f7776125000 mmap(0x7f7776127000, 12720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7776127000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\203\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0q\332\206\344A\243\334\352\225\260\377\264\373\311\344<"..., 68, 880) = 68 fstat(3, {st_mode=S_IFREG|0755, st_size=3300304, ...}) = 0 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 mmap(NULL, 1946304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7775f2d000 mprotect(0x7f7775f53000, 1753088, PROT_NONE) = 0 mmap(0x7f7775f53000, 1437696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f7775f53000 mmap(0x7f77760b2000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x185000) = 0x7f77760b2000 mmap(0x7f77760ff000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d1000) = 0x7f77760ff000 mmap(0x7f7776105000, 12992, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7776105000 close(3) = 0 mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7775f2a000 arch_prctl(ARCH_SET_FS, 0x7f7775f2a740) = 0 mprotect(0x7f77760ff000, 12288, PROT_READ) = 0 mprotect(0x7f7776125000, 4096, PROT_READ) = 0 mprotect(0x413000, 4096, PROT_READ) = 0 mprotect(0x7f7776163000, 4096, PROT_READ) = 0 munmap(0x7f777612d000, 38537) = 0 set_tid_address(0x7f7775f2aa10) = 1355504 set_robust_list(0x7f7775f2aa20, 24) = 0 rt_sigaction(SIGRTMIN, {sa_handler=0x7f7776110ba0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f777611d1d0}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {sa_handler=0x7f7776110c40, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f777611d1d0}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 brk(NULL) = 0xafe000 brk(0xb1f000) = 0xb1f000 brk(NULL) = 0xb1f000 openat(AT_FDCWD, "/dev/kvm", O_RDONLY) = -1 ENOENT (No such file or directory) gettid() = 1355504 getpid() = 1355504 write(2, "==== Test Assertion Failure ===="..., 120==== Test Assertion Failure ==== lib/kvm_util.c:1819: f != NULL pid=1355504 tid=1355504 - No such file or directory ) = 120 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38537, ...}) = 0 mmap(NULL, 38537, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f777612d000 close(3) = 0 openat(AT_FDCWD, "/lib64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3605\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=108280, ...}) = 0 mmap(NULL, 107592, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7775f0f000 mmap(0x7f7775f12000, 73728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f7775f12000 mmap(0x7f7775f24000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f7775f24000 mmap(0x7f7775f28000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f7775f28000 close(3) = 0 mprotect(0x7f7775f28000, 4096, PROT_READ) = 0 munmap(0x7f777612d000, 38537) = 0 futex(0x7f7776106d28, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x7f7775f291e0, FUTEX_WAKE_PRIVATE, 2147483647) = 0 rt_sigaction(SIGINT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f7775f6aa60}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f7775f6aa60}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 mmap(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f777612e000 rt_sigprocmask(SIG_BLOCK, ~[], [CHLD], 8) = 0 clone(child_stack=0x7f7776136ff0, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 1355505 munmap(0x7f777612e000, 36864) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 wait4(1355505, 1 0x00000000004053ee: vm_is_unrestricted_guest at kvm_util.c:1819 2 0x000000000040239b: main at mmio_warning_test.c:101 3 0x00007f7775f55201: ?? ??:0 4 0x000000000040247d: _start at ??:? [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 1355505 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f7775f6aa60}, NULL, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f7775f6aa60}, NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1355505, si_uid=0, si_status=0, si_utime=0, si_stime=0} --- write(2, " ", 2 ) = 2 write(2, "Error in opening KVM dev file: 2", 32Error in opening KVM dev file: 2) = 32 write(2, "\n", 1 ) = 1 exit_group(254) = ? +++ exited with 254 +++