linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Darren Hart <dvhart@infradead.org>,
	Andy Shevchenko <andy@infradead.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Peter Jones <pjones@redhat.com>, Dave Olsthoorn <dave@bewaar.me>,
	x86@kernel.org, platform-driver-x86@vger.kernel.org,
	linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-input@vger.kernel.org
Subject: Re: [PATCH v7 2/8] efi: Add embedded peripheral firmware support
Date: Thu, 14 Nov 2019 19:42:33 +0000	[thread overview]
Message-ID: <20191114194233.GE11244@42.do-not-panic.com> (raw)
In-Reply-To: <e7bd40ff-20d1-3aed-8516-9fffd4c3a207@redhat.com>

On Thu, Nov 14, 2019 at 12:27:01PM +0100, Hans de Goede wrote:
> Hi Luis,
> 
> Thank you for the reviews and sorry for being a bit slow to respind.
> 
> On 11-10-2019 16:48, Luis Chamberlain wrote:
> > On Fri, Oct 04, 2019 at 04:50:50PM +0200, Hans de Goede wrote:
> > > +static int __init efi_check_md_for_embedded_firmware(
> > > +	efi_memory_desc_t *md, const struct efi_embedded_fw_desc *desc)
> > > +{
> > > +	const u64 prefix = *((u64 *)desc->prefix);
> > > +	struct sha256_state sctx;
> > > +	struct embedded_fw *fw;
> > > +	u8 sha256[32];
> > > +	u64 i, size;
> > > +	void *map;
> > > +
> > > +	size = md->num_pages << EFI_PAGE_SHIFT;
> > > +	map = memremap(md->phys_addr, size, MEMREMAP_WB);
> > 
> > Since our limitaiton is the init process must have mostly finished,
> > it implies early x86 boot code cannot use this, what measures can we
> > take to prevent / check for such conditions to be detected and
> > gracefully errored out?
> 
> As with all (EFI) early boot code, there simply is a certain order
> in which things need to be done. This needs to happen after the basic
> mm is setup, but before efi_free_boot_services() gets called, there
> isn't really a way to check for all these conditions. As with all
> early boot code, people making changes need to be careful to not
> break stuff.

I rather we take a proactive measure here and add whatever it is we need
to ensure the API works only when its supposed to, rather than try and
fail, and then expect the user to know these things.

I'd prefer if we at least try to address this.

> > > +	if (!map) {
> > > +		pr_err("Error mapping EFI mem at %#llx\n", md->phys_addr);
> > > +		return -ENOMEM;
> > > +	}
> > > +
> > > +	size -= desc->length;
> > 
> > Remind me again, why we decrement the size here?
> 
> Basically this is another way of writing:
> 
> 	for (i = 0; (i + desc->length) < size; i += 8) {
> 
> > I was going to ask if we didn't need a:
> > 
> > if (desc->length > size) {
> > 	memunmap(map);
> > 	return -EINVAL;
> > }
> 
> That is a good point, unlikely but still a good point,
> so I guess that writing:
> 
> 	for (i = 0; (i + desc->length) < size; i += 8) {
> 
> Instead would better as that avoids the need for that check.
> I will fix this for the next version.

Great thanks.

  Luis

  reply	other threads:[~2019-11-14 19:42 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-04 14:50 [PATCH v7 0/8] efi/firmware/platform-x86: Add EFI embedded fw support Hans de Goede
2019-10-04 14:50 ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 1/8] efi: Export boot-services code and data as debugfs-blobs Hans de Goede
2019-10-04 14:50   ` Hans de Goede
2019-10-09 13:07   ` Ard Biesheuvel
2019-10-09 13:07     ` Ard Biesheuvel
2019-10-09 13:18     ` Hans de Goede
2019-10-09 13:18       ` Hans de Goede
2019-10-09 13:35       ` Ard Biesheuvel
2019-10-09 13:35         ` Ard Biesheuvel
2019-10-09 13:59         ` Hans de Goede
2019-10-09 13:59           ` Hans de Goede
2019-10-09 14:01           ` Ard Biesheuvel
2019-10-09 14:01             ` Ard Biesheuvel
2019-10-14  9:11   ` Luis Chamberlain
2019-10-14  9:11     ` Luis Chamberlain
2019-11-14 11:31     ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 2/8] efi: Add embedded peripheral firmware support Hans de Goede
2019-10-04 14:50   ` Hans de Goede
2019-10-11 14:48   ` Luis Chamberlain
2019-10-11 14:48     ` Luis Chamberlain
2019-11-14 11:27     ` Hans de Goede
2019-11-14 19:42       ` Luis Chamberlain [this message]
2019-11-14 20:13         ` Hans de Goede
2019-11-14 20:48           ` Hans de Goede
2019-11-14 21:50             ` Luis Chamberlain
2019-11-15 12:09               ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 3/8] firmware: Rename FW_OPT_NOFALLBACK to FW_OPT_NOFALLBACK_SYSFS Hans de Goede
2019-10-04 14:50   ` Hans de Goede
2019-10-11 15:02   ` Luis Chamberlain
2019-10-11 15:02     ` Luis Chamberlain
2019-11-14 20:22     ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 4/8] firmware: Add new platform fallback mechanism and firmware_request_platform() Hans de Goede
2019-10-04 14:50   ` Hans de Goede
2019-10-04 19:33   ` kbuild test robot
2019-10-04 19:33     ` kbuild test robot
2019-10-04 20:45   ` kbuild test robot
2019-10-04 20:45     ` kbuild test robot
2019-10-04 23:17   ` Dmitry Torokhov
2019-10-04 23:17     ` Dmitry Torokhov
2019-10-05  9:53     ` Hans de Goede
2019-10-05  9:53       ` Hans de Goede
2019-10-11 15:31     ` Luis Chamberlain
2019-10-11 15:31       ` Luis Chamberlain
2019-10-11 15:29   ` Luis Chamberlain
2019-10-11 15:29     ` Luis Chamberlain
2019-11-14 11:32     ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 5/8] Input: silead - Switch to firmware_request_platform for retreiving the fw Hans de Goede
2019-10-04 14:50   ` Hans de Goede
2019-10-11  0:47   ` Dmitry Torokhov
2019-10-11  0:47     ` Dmitry Torokhov
2019-10-04 14:50 ` [PATCH v7 6/8] Input: icn8505 " Hans de Goede
2019-10-04 14:50   ` Hans de Goede
2019-10-11  0:47   ` Dmitry Torokhov
2019-10-11  0:47     ` Dmitry Torokhov
2019-10-04 14:50 ` [PATCH v7 7/8] platform/x86: touchscreen_dmi: Add EFI embedded firmware info support Hans de Goede
2019-10-04 14:50   ` Hans de Goede
2019-10-05  3:03   ` kbuild test robot
2019-10-05  3:03     ` kbuild test robot
2019-10-05  7:13   ` kbuild test robot
2019-10-05  7:13     ` kbuild test robot
2019-10-04 14:50 ` [PATCH v7 8/8] platform/x86: touchscreen_dmi: Add info for the Chuwi Vi8 Plus tablet Hans de Goede
2019-10-04 14:50   ` Hans de Goede
2019-10-07 14:19 ` [PATCH v7 0/8] efi/firmware/platform-x86: Add EFI embedded fw support Ingo Molnar
2019-10-07 14:19   ` Ingo Molnar
2019-10-08  9:35   ` Hans de Goede
2019-10-08  9:35     ` Hans de Goede
2019-10-08 11:05     ` Ingo Molnar
2019-10-08 11:05       ` Ingo Molnar
2019-10-11 14:10 ` Luis Chamberlain
2019-10-11 14:10   ` Luis Chamberlain
2019-10-11 14:31   ` Hans de Goede
2019-10-11 14:31     ` Hans de Goede
2019-10-11 15:38     ` Luis Chamberlain
2019-10-11 15:38       ` Luis Chamberlain
2019-10-11 16:38       ` Greg Kroah-Hartman
2019-10-11 16:38         ` Greg Kroah-Hartman
2019-10-14  9:22         ` Luis Chamberlain
2019-10-14  9:22           ` Luis Chamberlain
2019-10-14  9:29           ` Greg Kroah-Hartman
2019-10-14  9:29             ` Greg Kroah-Hartman
2019-10-14 10:31             ` Luis Chamberlain
2019-10-14 10:31               ` Luis Chamberlain
2019-10-14 10:57               ` Greg Kroah-Hartman
2019-10-14 10:57                 ` Greg Kroah-Hartman
2019-10-16 12:45                 ` Luis Chamberlain

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=20191114194233.GE11244@42.do-not-panic.com \
    --to=mcgrof@kernel.org \
    --cc=andy@infradead.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dave@bewaar.me \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dvhart@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pjones@redhat.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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 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).