[PATCH] efi/efi_test: Fix missing pending status update in getwakeuptime

Ivan Hu posted 1 patch 8 months, 3 weeks ago
drivers/firmware/efi/test/efi_test.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] efi/efi_test: Fix missing pending status update in getwakeuptime
Posted by Ivan Hu 8 months, 3 weeks ago
The pending status was not being passed to user space, leading to
false test alarms when using the pending status. This patch ensures
that the pending status is correctly updated and exposed to user space
when calling getwakeuptime, preventing incorrect handling of the pending
status.

Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
---
 drivers/firmware/efi/test/efi_test.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/firmware/efi/test/efi_test.c b/drivers/firmware/efi/test/efi_test.c
index 9e2628728aad..77b5f7ac3e20 100644
--- a/drivers/firmware/efi/test/efi_test.c
+++ b/drivers/firmware/efi/test/efi_test.c
@@ -361,6 +361,10 @@ static long efi_runtime_get_waketime(unsigned long arg)
 						getwakeuptime.enabled))
 		return -EFAULT;
 
+	if (getwakeuptime.pending && put_user(pending,
+						getwakeuptime.pending))
+		return -EFAULT;
+
 	if (getwakeuptime.time) {
 		if (copy_to_user(getwakeuptime.time, &efi_time,
 				sizeof(efi_time_t)))
-- 
2.34.1
Re: [PATCH] efi/efi_test: Fix missing pending status update in getwakeuptime
Posted by Ard Biesheuvel 7 months ago
On Mon, 31 Mar 2025 at 09:45, Ivan Hu <ivan.hu@canonical.com> wrote:
>
> The pending status was not being passed to user space, leading to
> false test alarms when using the pending status. This patch ensures
> that the pending status is correctly updated and exposed to user space
> when calling getwakeuptime, preventing incorrect handling of the pending
> status.
>
> Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
> ---
>  drivers/firmware/efi/test/efi_test.c | 4 ++++
>  1 file changed, 4 insertions(+)
>

Queued up now, thanks.

> diff --git a/drivers/firmware/efi/test/efi_test.c b/drivers/firmware/efi/test/efi_test.c
> index 9e2628728aad..77b5f7ac3e20 100644
> --- a/drivers/firmware/efi/test/efi_test.c
> +++ b/drivers/firmware/efi/test/efi_test.c
> @@ -361,6 +361,10 @@ static long efi_runtime_get_waketime(unsigned long arg)
>                                                 getwakeuptime.enabled))
>                 return -EFAULT;
>
> +       if (getwakeuptime.pending && put_user(pending,
> +                                               getwakeuptime.pending))
> +               return -EFAULT;
> +
>         if (getwakeuptime.time) {
>                 if (copy_to_user(getwakeuptime.time, &efi_time,
>                                 sizeof(efi_time_t)))
> --
> 2.34.1
>