All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.