uefirtmisc/uefirtvariable/uefirttime/uefirtauthvar Failure
ivanhu
ivan.hu at canonical.com
Wed May 17 06:31:01 UTC 2023
Hi Eric,
Could you file a bug on launchpad of fwts, we can do further
investigation base on it?
https://bugs.launchpad.net/fwts/+filebug
Cheers,
Ivan
On 5/17/23 12:38, Dong, Eric wrote:
> Hi Ivan,
>
> Thanks for the reply, real appreciate the help.
>
> I checked the implementation of QueryCapsuleCapabilities, it does not
> have the path which may return EFI_ABORTED. Also, i found all the
> uefirtmisc/uefirtvariable/uefirttime/uefirtauthvar test cases return
> ABORTED error, seems like the above kernel driver efi_runtime met error
> and return.
>
> I run the efirttime test, the result.log file like below:
>
> uefirttime: UEFI Runtime service time interface tests.
>
> --------------------------------------------------------------------------------
>
> Test 1 of 36: Test UEFI RT service get time interface.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 1, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 2 of 36: Test UEFI RT service get time interface, NULL time parameter.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 2, Failed to get correct return
> status
>
> from UEFI runtime service, expecting EFI_INVALID_PARAMETER.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 3 of 36: Test UEFI RT service get time interface, NULL time and NULL
>
> capabilities parameters.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 3, Failed to get correct return
> status
>
> from UEFI runtime service, expecting EFI_INVALID_PARAMETER.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 4 of 36: Test UEFI RT service set time interface.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 4, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 5 of 36: Test UEFI RT service set time interface, invalid year 1899.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 5, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 6 of 36: Test UEFI RT service set time interface, invalid year 10000.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 6, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 7 of 36: Test UEFI RT service set time interface, invalid month 0.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 7, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 8 of 36: Test UEFI RT service set time interface, invalid month 13.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 8, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 9 of 36: Test UEFI RT service set time interface, invalid day 0.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 9, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 10 of 36: Test UEFI RT service set time interface, invalid day 32.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 10, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 11 of 36: Test UEFI RT service set time interface, invalid hour 24.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 11, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 12 of 36: Test UEFI RT service set time interface, invalid minute 60.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 12, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 13 of 36: Test UEFI RT service set time interface, invalid second 60.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 13, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 14 of 36: Test UEFI RT service set time interface, invalid nanosecond
>
> 1000000000.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 14, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 15 of 36: Test UEFI RT service set time interface, invalid timezone
> -1441.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 15, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 16 of 36: Test UEFI RT service set time interface, invalid timezone
> 1441.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 16, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 17 of 36: Test UEFI RT service get wakeup time interface.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 17, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 18 of 36: Test UEFI RT service get wakeup time interface, NULL enabled
>
> parameter.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 18, Failed to get correct
> return
>
> status from UEFI runtime service, expecting EFI_INVALID_PARAMETER.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 19 of 36: Test UEFI RT service get wakeup time interface, NULL pending
>
> parameter.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 19, Failed to get correct
> return
>
> status from UEFI runtime service, expecting EFI_INVALID_PARAMETER.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 20 of 36: Test UEFI RT service get wakeup time interface, NULL time
>
> parameter.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 20, Failed to get correct
> return
>
> status from UEFI runtime service, expecting EFI_INVALID_PARAMETER.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 21 of 36: Test UEFI RT service get wakeup time interface, NULL enabled,
>
> pending and time parameters.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 21, Failed to get correct
> return
>
> status from UEFI runtime service, expecting EFI_INVALID_PARAMETER.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 22 of 36: Test UEFI RT service set wakeup time interface.
>
> FAILED [HIGH] UEFIRuntimeGetTime: Test 22, Failed to get time with UEFI
> runtime
>
> service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 23 of 36: Test UEFI RT service set wakeup time interface, NULL time
>
> parameter.
>
> FAILED [HIGH] UEFIRuntimeSetWakeupTime: Test 23, Failed to get correct
> return
>
> status from UEFI runtime service, expecting EFI_INVALID_PARAMETER.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 24 of 36: Test UEFI RT service set wakeup time interface, invalid year
>
> 1899.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 24, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 25 of 36: Test UEFI RT service set wakeup time interface, invalid year
>
> 10000.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 25, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 26 of 36: Test UEFI RT service set wakeup time interface, invalid
> month 0.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 26, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 27 of 36: Test UEFI RT service set wakeup time interface, invalid
> month 13.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 27, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 28 of 36: Test UEFI RT service set wakeup time interface, invalid
> day 0.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 28, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 29 of 36: Test UEFI RT service set wakeup time interface, invalid
> day 32.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 29, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 30 of 36: Test UEFI RT service set wakeup time interface, invalid
> hour 24.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 30, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 31 of 36: Test UEFI RT service set wakeup time interface, invalid
> minute
>
> 60.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 31, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 32 of 36: Test UEFI RT service set wakeup time interface, invalid
> second
>
> 60.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 32, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 33 of 36: Test UEFI RT service set wakeup time interface, invalid
>
> nanosecond 1000000000.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 33, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 34 of 36: Test UEFI RT service set wakeup time interface, invalid
> timezone
>
> -1441.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 34, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 35 of 36: Test UEFI RT service set wakeup time interface, invalid
> timezone
>
> 1441.
>
> FAILED [HIGH] UEFIRuntimeGetWakeupTime: Test 35, Failed to get wakeup
> time with
>
> UEFI runtime service.
>
> Return status: EFI_ABORTED. The operation was aborted.
>
> Test 36 of 36: Test UEFI RT time services unsupported status.
>
> SKIPPED: Test 36, GetTime runtime service supported, skip test.
>
> SKIPPED: Test 36, SetTime runtime service supported, skip test.
>
> SKIPPED: Test 36, SetWakeupTime runtime service supported, skip test.
>
> SKIPPED: Test 36, GetWakeupTime runtime service supported, skip test.
>
> ================================================================================
>
> 0 passed, 35 failed, 0 warning, 0 aborted, 4 skipped, 0 info only.
>
> ================================================================================
>
> and I found below info in the dmesg.log file
>
> <6>[ 56.342973] AES CTR mode by8 optimization enabled
>
> <4>[ 427.434071] ------------[ cut here ]------------
>
> <4>[ 427.434080] [Firmware Bug]: Page fault caused by firmware at PA:
> 0x702d4748
>
> <4>[ 427.434092] WARNING: CPU: 129 PID: 1771 at
> arch/x86/platform/efi/quirks.c:735
> efi_crash_gracefully_on_page_fault+0x5a/0xe0
>
> <4>[ 427.434113] Modules linked in: efi_test kvm_intel kvm
> crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel
> crypto_simd cryptd ast nls_iso8859_1 drm_vram_helper drm_ttm_helper ttm
> drm_kms_helper input_leds joydev cec rc_core fb_sys_fops syscopyarea
> sysfillrect sysimgblt ipmi_ssif acpi_ipmi ipmi_si ipmi_devintf
> ipmi_msghandler sch_fq_codel drm efi_pstore ip_tables x_tables autofs4
> hid_generic uas usbhid usb_storage hid igb nvme i2c_algo_bit xhci_pci
> nvme_core xhci_pci_renesas dca
>
> <4>[ 427.434182] CPU: 129 PID: 1771 Comm: kworker/u480:1 Not tainted
> 5.15.0-69-generic #76-Ubuntu
>
> <4>[ 427.434191] Hardware name: Intel Corporation
> AvenueCity/AvenueCity, BIOS BHSDCRB1.JAC.0023.D08.2305100319 05/10/2023
>
> <4>[ 427.434195] Workqueue: efi_rts_wq efi_call_rts
>
> <4>[ 427.434211] RIP: 0010:efi_crash_gracefully_on_page_fault+0x5a/0xe0
>
> <4>[ 427.434219] Code: 49 81 fc ff 0f 00 00 76 08 48 3d 10 95 e1 bb 74
> 0a 4c 8b 65 f8 c9 c3 cc cc cc cc 4c 89 e6 48 c7 c7 90 fb bc ba e8 17 f4
> c4 00 <0f> 0b 83 3d ad ae 76 02 0a 0f 84 e3 e0 c4 00 e8 42 1c 00 00 e8 3d
>
> <4>[ 427.434223] RSP: 0018:ff5b584f9095bbb8 EFLAGS: 00010086
>
> <4>[ 427.434229] RAX: 0000000000000000 RBX: 0000000000000000 RCX:
> 0000000000000027
>
> <4>[ 427.434233] RDX: ff45b9bbff360588 RSI: 0000000000000001 RDI:
> ff45b9bbff360580
>
> <4>[ 427.434236] RBP: ff5b584f9095bbc0 R08: 0000000000000003 R09:
> ffffffffffe24988
>
> <4>[ 427.434238] R10: 0000000000ffff10 R11: 000000000000000f R12:
> 00000000702d4748
>
> <4>[ 427.434241] R13: ff5b584f9095bcb8 R14: 0000000000000000 R15:
> 0000000000000000
>
> <4>[ 427.434244] FS: 0000000000000000(0000) GS:ff45b9bbff340000(0000)
> knlGS:0000000000000000
>
> <4>[ 427.434248] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>
> <4>[ 427.434252] CR2: 00000000702d4748 CR3: 000000010026e002 CR4:
> 0000000000771ee0
>
> <4>[ 427.434255] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
>
> <4>[ 427.434258] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7:
> 0000000000000400
>
> <4>[ 427.434260] PKRU: 55555554
>
> <4>[ 427.434262] Call Trace:
>
> <4>[ 427.434268] <TASK>
>
> <4>[ 427.434276] page_fault_oops+0x4f/0x170
>
> <4>[ 427.434286] ? __ext4_get_inode_loc+0x128/0x490
>
> <4>[ 427.434297] do_user_addr_fault+0x321/0x670
>
> <4>[ 427.434303] ? cgroup_rstat_updated+0x11c/0x1e0
>
> <4>[ 427.434314] exc_page_fault+0x77/0x170
>
> <4>[ 427.434324] asm_exc_page_fault+0x27/0x30
>
> <4>[ 427.434334] RIP: 0010:0xfffffffeef8a3a3c
>
> <4>[ 427.434339] Code: c4 30 41 5f c3 cc 48 89 5c 24 08 57 48 83 ec 20
> 8a 05 54 36 00 00 48 8b f9 e8 64 11 00 00 ba 1e 00 00 00 48 8d 0d 94 36
> 00 00 <ff> 50 08 0f b6 d0 ec 8a d8 8a 0d 31 36 00 00 80 e3 80 40 0a df e8
>
> <4>[ 427.434342] RSP: 0018:ff5b584f9095bd60 EFLAGS: 00010282
>
> <4>[ 427.434346] RAX: 00000000702d4740 RBX: 0000000000000001 RCX:
> fffffffeef8a70d0
>
> <4>[ 427.434348] RDX: 000000000000001e RSI: fffffffeef8a7180 RDI:
> 000000000000000d
>
> <4>[ 427.434351] RBP: ff5b584f9095be28 R08: fffffffeef8a7180 R09:
> 0000000000000001
>
> <4>[ 427.434353] R10: 000000000000000b R11: 000000000000000b R12:
> ff5b584f98767e70
>
> <4>[ 427.434356] R13: ff5b584f98767e60 R14: ff5b584f98767e60 R15:
> 0000000000000202
>
> <4>[ 427.434364] ? __efi_call+0x25/0x30
>
> <4>[ 427.434370] ? switch_mm+0x20/0x40
>
> <4>[ 427.434377] ? efi_enter_mm+0x39/0x40
>
> <4>[ 427.434382] ? efi_call_rts+0x394/0x770
>
> <4>[ 427.434389] ? process_one_work+0x228/0x3d0
>
> <4>[ 427.434396] ? worker_thread+0x53/0x420
>
> <4>[ 427.434400] ? process_one_work+0x3d0/0x3d0
>
> <4>[ 427.434403] ? kthread+0x127/0x150
>
> <4>[ 427.434411] ? set_kthread_struct+0x50/0x50
>
> <4>[ 427.434418] ? ret_from_fork+0x1f/0x30
>
> <4>[ 427.434431] </TASK>
>
> <4>[ 427.434433] ---[ end trace a4ab423d4381edf9 ]---
>
> <6>[ 427.434445] efi: Froze efi_rts_wq and disabled EFI Runtime Services
>
> <4>[ 427.434663] efi: EFI Runtime Services are disabled!
>
> <4>[ 427.436629] efi: EFI Runtime Services are disabled!
>
> <4>[ 427.437555] efi: EFI Runtime Services are disabled!
>
> <4>[ 427.470918] efi: EFI Runtime Services are disabled!
>
> <4>[ 427.471507] efi: EFI Runtime Services are disabled!
>
> <4>[ 427.501439] efi: EFI Runtime Services are disabled!
>
> <4>[ 427.501573] efi: EFI Runtime Services are disabled!
>
> <4>[ 427.539533] efi: EFI Runtime Services are disabled!
>
> Do you know how to check which code real met such error? How to do the
> next level check?
>
> Thanks,
>
> Eric
>
> *From:* ivanhu <ivan.hu at canonical.com>
> *Sent:* Wednesday, May 17, 2023 11:48 AM
> *To:* Dong, Eric <eric.dong at intel.com>; fwts-devel at lists.ubuntu.com
> *Subject:* Re: uefirtmisc/uefirtvariable/uefirttime/uefirtauthvar Failure
>
> Hi Eric,
>
> From the result log, it seems that the tests by calling
> GetNextHighMonotonicCount and QueryCapsuleCapabilities runtime services
> got the EFI_ABORTED returned. You should check these runtime services
> implementation.
>
> Cheers,
> Ivan
>
> On 5/16/23 10:11, Dong, Eric wrote:
>> Hi FWTS tool owner,
>>
>> Now we met runtime services test failures, seems like the test meets
>> error before it runs the specific test items. We don’t know how to
>> check such error; do you have any suggest where we can begin the check?
>> Thanks.
>>
>> uefirtmisc: UEFI miscellaneous runtime service interface tests.
>>
>> --------------------------------------------------------------------------------
>>
>> Test 1 of 4: Test for UEFI miscellaneous runtime service interfaces.
>>
>> Testing UEFI runtime service GetNextHighMonotonicCount interface.
>>
>> FAILED [HIGH] UEFIRuntimeGetNextHighMonotonicCount: Test 1, Failed to
>> get high
>>
>> monotonic count with UEFI runtime service.
>>
>> *Return status: EFI_ABORTED. The operation was aborted.*
>>
>> Testing UEFI runtime service QueryCapsuleCapabilities interface.
>>
>> FAILED [HIGH] UEFIRuntimeQueryCapsuleCapabilities: Test 1, Failed to query
>>
>> capsule capabilities with UEFI runtime service with flag value 0x0.
>>
>> *Return status: EFI_ABORTED. The operation was aborted.*
>>
>> Test 2 of 4: Stress test for UEFI miscellaneous runtime service interfaces.
>>
>> Stress testing for UEFI runtime service GetNextHighMonotonicCount
>> interface 50
>>
>> times.
>>
>> FAILED [HIGH] UEFIRuntimeGetNextHighMonotonicCount: Test 2, Failed to
>> get high
>>
>> monotonic count with UEFI runtime service.
>>
>> *Return status: EFI_ABORTED. The operation was aborted.*
>>
>> Stress testing UEFI runtime service QueryCapsuleCapabilities interface.
>>
>> FAILED [HIGH] UEFIRuntimeQueryCapsuleCapabilities: Test 2, Failed to query
>>
>> capsule capabilities with UEFI runtime service with flag value 0x0.
>>
>> *Return status: EFI_ABORTED. The operation was aborted.*
>>
>> Test 3 of 4: Test GetNextHighMonotonicCount with invalid NULL parameter.
>>
>> FAILED [HIGH] UEFIRuntimeGetNextHighMonotonicCountInvalid: Test 3,
>> Failed to get
>>
>> correct return status from UEFI runtime service, expecting
>>
>> EFI_INVALID_PARAMETER.
>>
>> *Return status: EFI_ABORTED. The operation was aborted.*
>>
>> Test 4 of 4: Test UEFI miscellaneous runtime services unsupported status.
>>
>> SKIPPED: Test 4, GetNextHighMonotonicCount runtime service supported,
>> skip test.
>>
>> ================================================================================
>>
>> 0 passed, 5 failed, 0 warning, 0 aborted, 1 skipped, 0 info only.
>>
>> ================================================================================
>>
>> Thanks,
>>
>> Eric
>>
>>
>
More information about the fwts-devel
mailing list