From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] cmd: env: print a message when setting UEFI variable failed
Date: Tue, 14 May 2019 17:08:30 +0900 [thread overview]
Message-ID: <20190514080829.GP11160@linaro.org> (raw)
In-Reply-To: <43c3f7e1-fb0f-e4d2-4aa4-07269850376d@gmx.de>
On Tue, May 14, 2019 at 08:21:55AM +0200, Heinrich Schuchardt wrote:
> On 5/14/19 6:58 AM, AKASHI Takahiro wrote:
> >Error message will alert a user that setting/deleting a variable failed.
> >
> >Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
> >---
> > cmd/nvedit_efi.c | 10 +++++++++-
> > 1 file changed, 9 insertions(+), 1 deletion(-)
> >
> >diff --git a/cmd/nvedit_efi.c b/cmd/nvedit_efi.c
> >index 2805e8182b41..e0d8f578ac33 100644
> >--- a/cmd/nvedit_efi.c
> >+++ b/cmd/nvedit_efi.c
> >@@ -373,6 +373,7 @@ int do_env_set_efi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> >
> > for ( ; argc > 0; argc--, argv++)
> > if (append_value(&value, &size, argv[0]) < 0) {
> >+ printf("## Failed to process arguments\n");
> > ret = CMD_RET_FAILURE;
> > goto out;
> > }
> >@@ -381,6 +382,7 @@ int do_env_set_efi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> > len = utf8_utf16_strnlen(var_name, strlen(var_name));
> > var_name16 = malloc((len + 1) * 2);
> > if (!var_name16) {
> >+ printf("## Can't malloc %ld bytes\n", (len + 1) * 2);
>
> That message is much too technical. As a user I would not care about
> malloc(), calloc() or any other memory allocation call failing.
>
> In other parts of our coding we use
>
> printf("ERROR: Out of memory\n");
See _do_env_set() in cmd/nvedit.c.
My message above is consistent with that function.
> > ret = CMD_RET_FAILURE;
> > goto out;
> > }
> >@@ -392,7 +394,13 @@ int do_env_set_efi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> > EFI_VARIABLE_BOOTSERVICE_ACCESS |
> > EFI_VARIABLE_RUNTIME_ACCESS,
> > size, value));
> >- ret = (ret == EFI_SUCCESS ? CMD_RET_SUCCESS : CMD_RET_FAILURE);
> >+ if (ret == EFI_SUCCESS) {
> >+ ret = CMD_RET_SUCCESS;
> >+ } else {
> >+ printf("## Failed to set EFI variable (%ld)\n",
>
> efi_set_variable() is called from different places in U-Boot (e.g.
> efi_setup.c). On the other hand we want to make efi_set_variable()
> available at runtime in funture.
>
> So may be we should replace all our EFI_CALL(efi_set_variable()) by an
> internal function which provides error output.
I don't think so.
Whether such a message be printed should deter to a caller (or
application).
What message be appropriate will also depend on a context of caller.
-Takahiro Akashi
> Regards
>
> Heinrich
>
> >+ ret & ~EFI_ERROR_MASK);
> >+ ret = CMD_RET_FAILURE;
> >+ }
> > out:
> > free(value);
> > free(var_name16);
> >
>
next prev parent reply other threads:[~2019-05-14 8:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-14 4:58 [U-Boot] [PATCH] cmd: env: print a message when setting UEFI variable failed AKASHI Takahiro
2019-05-14 6:21 ` Heinrich Schuchardt
2019-05-14 8:08 ` AKASHI Takahiro [this message]
2019-05-14 10:38 ` Heinrich Schuchardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190514080829.GP11160@linaro.org \
--to=takahiro.akashi@linaro.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.