All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Leif Lindholm <leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org,
	hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org,
	linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org,
	matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org,
	mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org
Subject: Re: [PATCHv2 0/5] efi: detect erroneous firmware IRQ manipulation
Date: Thu, 21 Apr 2016 13:52:37 +0100	[thread overview]
Message-ID: <20160421125236.GL6879@leverpostej> (raw)
In-Reply-To: <20160421114737.GQ2904-t77nlHhSwNqAroYi2ySoxKxOck334EZe@public.gmane.org>

On Thu, Apr 21, 2016 at 12:47:37PM +0100, Leif Lindholm wrote:
> On Thu, Apr 21, 2016 at 12:35:24PM +0100, Mark Rutland wrote:
> > Some firmware erroneously unmask IRQs (and potentially other architecture
> > specific exceptions) during runtime services functions, in violation of both
> > common sense and the UEFI specification. This can result in a number of issues
> > if said exceptions are taken when they are expected to be masked, and
> > additionally can confuse IRQ tracing if the original mask state is not
> > restored prior to returning from firmware.
> > 
> > In practice it's difficult to check that firmware never unmasks exceptions, but
> > we can at least check that the IRQ flags are at least consistent upon entry to
> > and return from a runtime services function call. This series implements said
> > check in the shared EFI runtime wrappers code, after an initial round of
> > refactoring such that this can be generic.

[...]

> So, I think this is a good thing, but the diffs end up being quite
> hard to deciphre. Is there any non-insane shuffling around of things
> that can make the changeset more clear?

This is the clearest/simplest way I had found to organise them.

I think the arm and arm64 diffs are fairly clear, so I assume you're
mainly asking w.r.t. the x86 patch, which is less so due to the volume
of lines that fall out of the diff context. The 32-bit side of that is
simple, so I could split that into two patches, leaving the diff pain
only with the 64-bit patch.

Otherwise, short of moving things into a different file I think this is
a losing battle against git's diff engine.

Thanks,
Mark.

  parent reply	other threads:[~2016-04-21 12:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-21 11:35 [PATCHv2 0/5] efi: detect erroneous firmware IRQ manipulation Mark Rutland
2016-04-21 11:35 ` [PATCHv2 1/5] efi/runtime-wrappers: add {__,}efi_call_virt templates Mark Rutland
     [not found]   ` <1461238529-12810-2-git-send-email-mark.rutland-5wv7dgnIgG8@public.gmane.org>
2016-04-21 11:42     ` Leif Lindholm
2016-04-21 11:42       ` Leif Lindholm
     [not found]       ` <20160421114256.GP2904-t77nlHhSwNqAroYi2ySoxKxOck334EZe@public.gmane.org>
2016-04-21 12:55         ` Mark Rutland
2016-04-21 12:55           ` Mark Rutland
2016-04-21 14:19           ` Mark Rutland
2016-04-21 14:19             ` Mark Rutland
2016-04-21 11:35 ` [PATCHv2 2/5] arm64/efi: move to generic {__,}efi_call_virt Mark Rutland
2016-04-21 11:35   ` Mark Rutland
     [not found]   ` <1461238529-12810-3-git-send-email-mark.rutland-5wv7dgnIgG8@public.gmane.org>
2016-04-21 16:48     ` Will Deacon
2016-04-21 16:48       ` Will Deacon
2016-04-21 16:48       ` Will Deacon
     [not found]       ` <20160421164840.GO929-5wv7dgnIgG8@public.gmane.org>
2016-04-21 16:58         ` Mark Rutland
2016-04-21 16:58           ` Mark Rutland
2016-04-21 16:58           ` Mark Rutland
2016-04-21 11:35 ` [PATCHv2 3/5] arm/efi: " Mark Rutland
2016-04-21 11:35   ` Mark Rutland
     [not found] ` <1461238529-12810-1-git-send-email-mark.rutland-5wv7dgnIgG8@public.gmane.org>
2016-04-21 11:35   ` [PATCHv2 4/5] x86/efi: " Mark Rutland
2016-04-21 11:35     ` Mark Rutland
2016-04-21 11:47   ` [PATCHv2 0/5] efi: detect erroneous firmware IRQ manipulation Leif Lindholm
     [not found]     ` <20160421114737.GQ2904-t77nlHhSwNqAroYi2ySoxKxOck334EZe@public.gmane.org>
2016-04-21 12:52       ` Mark Rutland [this message]
2016-04-21 11:35 ` [PATCHv2 5/5] efi/runtime-wrappers: detect FW irq flag corruption Mark Rutland
     [not found]   ` <1461238529-12810-6-git-send-email-mark.rutland-5wv7dgnIgG8@public.gmane.org>
2016-04-21 17:05     ` Ard Biesheuvel
2016-04-21 17:05       ` Ard Biesheuvel
2016-04-21 17:18       ` Mark Rutland

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=20160421125236.GL6879@leverpostej \
    --to=mark.rutland-5wv7dgnigg8@public.gmane.org \
    --cc=ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
    --cc=leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org \
    --cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
    /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.