From: Robbie Harwood <rharwood@redhat.com>
To: Javier Martinez Canillas <javierm@redhat.com>,
Hans de Goede <hdegoede@redhat.com>,
grub-devel@gnu.org
Subject: Re: [PATCH 1/2] EFI: console: Do not set colorstate until the first text output
Date: Mon, 31 Jan 2022 13:44:19 -0500 [thread overview]
Message-ID: <jlgiltzpwxo.fsf@redhat.com> (raw)
In-Reply-To: <72311e14-916c-82d3-588e-ae62c91998e4@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2257 bytes --]
Javier Martinez Canillas <javierm@redhat.com> writes:
> Hello Hans,
>
> Thanks for the patch.
>
> On 1/28/22 12:43, Hans de Goede wrote:
>> GRUB_MOD_INIT(normal) does an unconditional:
>>
>> grub_env_set ("color_normal", "light-gray/black");
>>
>> which triggers a grub_term_setcolorstate() call. The original version
>> of the "efi/console: Do not set text-mode until we actually need it" patch:
>> https://lists.gnu.org/archive/html/grub-devel/2018-03/msg00125.html
>>
>> Protected against this by caching the requested state in
>> grub_console_setcolorstate () and then only applying it when the first
>> text output actually happens. During refactoring to move the
>> grub_console_setcolorstate () up higher in the grub-core/term/efi/console.c
>> file the code to cache the color-state + bail early was accidentally
>> dropped.
>>
>> Restore the cache the color-state + bail early behavior from the original.
>>
>> Cc: Javier Martinez Canillas <javierm@redhat.com>
>> Fixes: 2d7c3abd871f ("efi/console: Do not set text-mode until we actually need it")
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>> grub-core/term/efi/console.c | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/grub-core/term/efi/console.c b/grub-core/term/efi/console.c
>> index 2f1ae85ba..c44b2ac31 100644
>> --- a/grub-core/term/efi/console.c
>> +++ b/grub-core/term/efi/console.c
>> @@ -82,6 +82,16 @@ grub_console_setcolorstate (struct grub_term_output *term
>> {
>> grub_efi_simple_text_output_interface_t *o;
>>
>> + if (grub_efi_is_finished || text_mode != GRUB_TEXT_MODE_AVAILABLE)
>> + {
>> + /*
>> + * Cache colorstate changes before the first text-output, this avoids
>> + * "color_normal" environment writes causing a switch to textmode.
>> + */
>> + text_colorstate = state;
>> + return;
>> + }
>> +
>> if (grub_efi_is_finished)
>> return;
>>
>
> Indeed, sorry for messing this when addressing the concerns raised by
> Daniel in your original patch. The fix looks good to me.
>
> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Robbie Harwood <rharwood@redhat.com>
Be well,
--Robbie
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
next prev parent reply other threads:[~2022-01-31 18:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-28 11:43 [PATCH 1/2] EFI: console: Do not set colorstate until the first text output Hans de Goede
2022-01-28 11:43 ` [PATCH 2/2] EFI: console: Do not set cursor " Hans de Goede
2022-01-30 13:35 ` Javier Martinez Canillas
2022-01-31 18:44 ` Robbie Harwood
2022-01-30 13:33 ` [PATCH 1/2] EFI: console: Do not set colorstate " Javier Martinez Canillas
2022-01-31 18:44 ` Robbie Harwood [this message]
2022-03-04 10:30 ` Hans de Goede
2022-03-04 20:08 ` Daniel Kiper
2022-03-17 21:42 ` Daniel Kiper
2022-03-22 15:48 ` Daniel Kiper
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=jlgiltzpwxo.fsf@redhat.com \
--to=rharwood@redhat.com \
--cc=grub-devel@gnu.org \
--cc=hdegoede@redhat.com \
--cc=javierm@redhat.com \
/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.