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