u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] efi: small hii set_keyboard_layout conformance improvement
@ 2023-01-06  9:46 Vincent Stehlé
  2023-01-06  9:46 ` [PATCH 1/2] efi_loader: refine set_keyboard_layout() status Vincent Stehlé
  2023-01-06  9:46 ` [PATCH 2/2] efi_selftest: add hii set keyboard layout test case Vincent Stehlé
  0 siblings, 2 replies; 5+ messages in thread
From: Vincent Stehlé @ 2023-01-06  9:46 UTC (permalink / raw)
  To: u-boot; +Cc: Vincent Stehlé, Heinrich Schuchardt, Ilias Apalodimas

Hi,

The following couple of patches make UEFI HII set_keyboard_layout() more
conforming in the case of invalid input parameter and add a selftest.
This is sent in this order to avoid breaking `bootefi selftest' in the middle
but feel free to apply in any order if preferred.

Best regards,
Vincent.


Vincent Stehlé (2):
  efi_loader: refine set_keyboard_layout() status
  efi_selftest: add hii set keyboard layout test case

 lib/efi_loader/efi_hii.c            |  3 +++
 lib/efi_selftest/efi_selftest_hii.c | 12 ++++++++++++
 2 files changed, 15 insertions(+)

-- 
2.39.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] efi_loader: refine set_keyboard_layout() status
  2023-01-06  9:46 [PATCH 0/2] efi: small hii set_keyboard_layout conformance improvement Vincent Stehlé
@ 2023-01-06  9:46 ` Vincent Stehlé
  2023-01-06 15:27   ` Heinrich Schuchardt
  2023-01-06  9:46 ` [PATCH 2/2] efi_selftest: add hii set keyboard layout test case Vincent Stehlé
  1 sibling, 1 reply; 5+ messages in thread
From: Vincent Stehlé @ 2023-01-06  9:46 UTC (permalink / raw)
  To: u-boot; +Cc: Vincent Stehlé, Heinrich Schuchardt, Ilias Apalodimas

As per the EFI specification, the HII database protocol function
set_keyboard_layout() must return EFI_INVALID_PARAMETER when it is called
with a NULL key_guid argument. Modify the function accordingly to improve
conformance.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
---
 lib/efi_loader/efi_hii.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/efi_loader/efi_hii.c b/lib/efi_loader/efi_hii.c
index 27db3be6a17..3b54ecb11ac 100644
--- a/lib/efi_loader/efi_hii.c
+++ b/lib/efi_loader/efi_hii.c
@@ -758,6 +758,9 @@ set_keyboard_layout(const struct efi_hii_database_protocol *this,
 {
 	EFI_ENTRY("%p, %pUs", this, key_guid);
 
+	if (!key_guid)
+		return EFI_EXIT(EFI_INVALID_PARAMETER);
+
 	return EFI_EXIT(EFI_NOT_FOUND);
 }
 
-- 
2.39.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] efi_selftest: add hii set keyboard layout test case
  2023-01-06  9:46 [PATCH 0/2] efi: small hii set_keyboard_layout conformance improvement Vincent Stehlé
  2023-01-06  9:46 ` [PATCH 1/2] efi_loader: refine set_keyboard_layout() status Vincent Stehlé
@ 2023-01-06  9:46 ` Vincent Stehlé
  1 sibling, 0 replies; 5+ messages in thread
From: Vincent Stehlé @ 2023-01-06  9:46 UTC (permalink / raw)
  To: u-boot; +Cc: Vincent Stehlé, Heinrich Schuchardt, Ilias Apalodimas

Add a test for the case when the HII database protocol
set_keyboard_layout() function is called with a NULL key_guid argument.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
---
 lib/efi_selftest/efi_selftest_hii.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/efi_selftest/efi_selftest_hii.c b/lib/efi_selftest/efi_selftest_hii.c
index eaf3b0995d4..f4b55889e29 100644
--- a/lib/efi_selftest/efi_selftest_hii.c
+++ b/lib/efi_selftest/efi_selftest_hii.c
@@ -564,7 +564,19 @@ out:
  */
 static int test_hii_database_set_keyboard_layout(void)
 {
+	efi_status_t ret;
+
 	PRINT_TESTNAME;
+
+	/* Invalid key guid. */
+	ret = hii_database_protocol->set_keyboard_layout(
+			hii_database_protocol, NULL);
+	if (ret != EFI_INVALID_PARAMETER) {
+		efi_st_error("set_keyboard_layout returned %u not invalid\n",
+			     (unsigned int)ret);
+		return EFI_ST_FAILURE;
+	}
+
 	/* set_keyboard_layout() not implemented yet */
 	return EFI_ST_SUCCESS;
 }
-- 
2.39.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] efi_loader: refine set_keyboard_layout() status
  2023-01-06  9:46 ` [PATCH 1/2] efi_loader: refine set_keyboard_layout() status Vincent Stehlé
@ 2023-01-06 15:27   ` Heinrich Schuchardt
  2023-01-09  7:00     ` Ilias Apalodimas
  0 siblings, 1 reply; 5+ messages in thread
From: Heinrich Schuchardt @ 2023-01-06 15:27 UTC (permalink / raw)
  To: Vincent Stehlé; +Cc: Ilias Apalodimas, u-boot

On 1/6/23 10:46, Vincent Stehlé wrote:
> As per the EFI specification, the HII database protocol function
> set_keyboard_layout() must return EFI_INVALID_PARAMETER when it is called
> with a NULL key_guid argument. Modify the function accordingly to improve
> conformance.
>
> Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> ---
>   lib/efi_loader/efi_hii.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/lib/efi_loader/efi_hii.c b/lib/efi_loader/efi_hii.c
> index 27db3be6a17..3b54ecb11ac 100644
> --- a/lib/efi_loader/efi_hii.c
> +++ b/lib/efi_loader/efi_hii.c
> @@ -758,6 +758,9 @@ set_keyboard_layout(const struct efi_hii_database_protocol *this,
>   {
>   	EFI_ENTRY("%p, %pUs", this, key_guid);
>
> +	if (!key_guid)
> +		return EFI_EXIT(EFI_INVALID_PARAMETER);

This is just suppressing an SCT warning for an unimplemented function. I
think we should complete the implementation of the HII protocols instead
of trying to hide the deficiency.

Best regards

Heinrich

> +
>   	return EFI_EXIT(EFI_NOT_FOUND);
>   }
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] efi_loader: refine set_keyboard_layout() status
  2023-01-06 15:27   ` Heinrich Schuchardt
@ 2023-01-09  7:00     ` Ilias Apalodimas
  0 siblings, 0 replies; 5+ messages in thread
From: Ilias Apalodimas @ 2023-01-09  7:00 UTC (permalink / raw)
  To: Heinrich Schuchardt; +Cc: Vincent Stehlé, u-boot

On Fri, 6 Jan 2023 at 17:27, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>
> On 1/6/23 10:46, Vincent Stehlé wrote:
> > As per the EFI specification, the HII database protocol function
> > set_keyboard_layout() must return EFI_INVALID_PARAMETER when it is called
> > with a NULL key_guid argument. Modify the function accordingly to improve
> > conformance.
> >
> > Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
> > Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> > ---
> >   lib/efi_loader/efi_hii.c | 3 +++
> >   1 file changed, 3 insertions(+)
> >
> > diff --git a/lib/efi_loader/efi_hii.c b/lib/efi_loader/efi_hii.c
> > index 27db3be6a17..3b54ecb11ac 100644
> > --- a/lib/efi_loader/efi_hii.c
> > +++ b/lib/efi_loader/efi_hii.c
> > @@ -758,6 +758,9 @@ set_keyboard_layout(const struct efi_hii_database_protocol *this,
> >   {
> >       EFI_ENTRY("%p, %pUs", this, key_guid);
> >
> > +     if (!key_guid)
> > +             return EFI_EXIT(EFI_INVALID_PARAMETER);
>
> This is just suppressing an SCT warning for an unimplemented function. I
> think we should complete the implementation of the HII protocols instead
> of trying to hide the deficiency.

I don't think we are hiding the fact that the function isn't implemented here.
34.8.11 EFI_HII_DATABASE_PROTOCOL.SetKeyboardLayout() says that we
must return if the KeyGuid is NULL

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>


>
> Best regards
>
> Heinrich
>
> > +
> >       return EFI_EXIT(EFI_NOT_FOUND);
> >   }
> >
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-09  7:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-06  9:46 [PATCH 0/2] efi: small hii set_keyboard_layout conformance improvement Vincent Stehlé
2023-01-06  9:46 ` [PATCH 1/2] efi_loader: refine set_keyboard_layout() status Vincent Stehlé
2023-01-06 15:27   ` Heinrich Schuchardt
2023-01-09  7:00     ` Ilias Apalodimas
2023-01-06  9:46 ` [PATCH 2/2] efi_selftest: add hii set keyboard layout test case Vincent Stehlé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).