uefirtmisc/uefirtvariable/uefirttime/uefirtauthvar Failure

Dong, Eric eric.dong at intel.com
Wed May 17 04:38:23 UTC 2023


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/fwts-devel/attachments/20230517/1843c4b3/attachment-0001.html>


More information about the fwts-devel mailing list