Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1208202

Re: [PATCH v2 08/16] x86/efi: Carrying hibernation key by setup data

From joeyli <jlee@suse.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 08/16] x86/efi: Carrying hibernation key by setup data
Date 2015-08-16 07:40 +0200
Message-ID <pXYPL-7Bh-5@gated-at.bofh.it> (permalink)
References <pWb4J-57z-3@gated-at.bofh.it> <pWb4L-57z-65@gated-at.bofh.it> <pXN7X-7KC-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sat, Aug 15, 2015 at 07:07:38PM +0200, Pavel Machek wrote:
> On Tue 2015-08-11 14:16:28, Lee, Chun-Yi wrote:
> > For forwarding hibernation key from EFI stub to boot kernel, this patch
> > allocates setup data for carrying hibernation key, size and the status
> > of efi operating.
> > 
> > Reviewed-by: Jiri Kosina <jkosina@suse.com>
> 
> Jiri, are you sure you reviewed these? This is not really
> english, afaict, and efi/EFI should be spelled consistently.
> 
> Could you try reviewing it again? Pointing out 10s of small
> bugs is quite boring...
>

It's my fault, I will find someone help to review my English in all
patch description for next edition.
 
> >  	unsigned long key_size;
> >  	unsigned long attributes;
> > +	struct setup_data *setup_data, *hibernation_setup_data;
> >  	struct hibernation_keys *keys;
> > +	unsigned long size = 0;
> >  	efi_status_t status;
> >  
> >  	/* Allocate setup_data to carry keys */
> > +	size = sizeof(struct setup_data) + sizeof(struct hibernation_keys);
> >  	status = efi_call_early(allocate_pool, EFI_LOADER_DATA,
> > -				sizeof(struct hibernation_keys), &keys);
> > +				size, &hibernation_setup_data);
> >  	if (status != EFI_SUCCESS) {
> >  		efi_printk(sys_table, "Failed to alloc mem for hibernation keys\n");
> >  		return;
> >  	}
> >  
> > -	memset(keys, 0, sizeof(struct hibernation_keys));
> > +	memset(hibernation_setup_data, 0, size);
> > +	keys = (struct hibernation_keys *) hibernation_setup_data->data;
> >  
> 
> any chance to type stuff correctly so that casts are not
> neccessary?
> 

The data element defined in setup_data struct as u8:
        __u8 data[0];

So I use cast here.

> > +clean_fail:
> > +	hibernation_setup_data->type = SETUP_HIBERNATION_KEYS;
> > +	hibernation_setup_data->len = sizeof(struct hibernation_keys);
> > +	hibernation_setup_data->next = 0;
> > +	keys->hkey_status = efi_status_to_err(status);
> > +
> > +	setup_data = (struct setup_data *)params->hdr.setup_data;
> > +	while (setup_data && setup_data->next)
> > +		setup_data = (struct setup_data *)setup_data->next;
> 
> way too many casts here.
> 
> 							Pavel

I follow setup_efi_pci32() and setup_efi_pci64():

        while (data && data->next)
                data = (struct setup_data *)(unsigned long)data->next;

That's better I also add (unsigned long) cast as setup_efi_pci. Do
you have good suggestion let the above code more graceful?


Thanks a lot!
Joey Lee

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 00/16] Signature verification of hibernate snapshot "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
  [PATCH v2 15/16] PM / hibernate: Bypass verification logic on legacy BIOS "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
  [PATCH v2 01/16] PM / hibernate: define HMAC algorithm and digest size of hibernation "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
  [PATCH v2 03/16] x86/boot: Public getting random boot function "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
  [PATCH v2 05/16] x86/efi: Get entropy through EFI random number generator protocol "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
  [PATCH v2 09/16] PM / hibernate: Reserve hibernation key and erase footprints "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
    Re: [PATCH v2 09/16] PM / hibernate: Reserve hibernation key and  erase footprints "Chen, Yu C" <yu.c.chen@intel.com> - 2015-08-13 04:50 +0200
      Re: [PATCH v2 09/16] PM / hibernate: Reserve hibernation key and  erase footprints joeyli <jlee@suse.com> - 2015-08-13 05:30 +0200
    Re: [PATCH v2 09/16] PM / hibernate: Reserve hibernation key and  erase footprints joeyli <jlee@suse.com> - 2015-08-13 16:40 +0200
  [PATCH v2 16/16] PM / hibernate: Document signature verification of hibernate snapshot "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
  [PATCH v2 04/16] x86/efi: Generating random number in EFI stub "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
  [PATCH v2 08/16] x86/efi: Carrying hibernation key by setup data "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
    Re: [PATCH v2 08/16] x86/efi: Carrying hibernation key by setup  data Pavel Machek <pavel@ucw.cz> - 2015-08-15 19:10 +0200
      Re: [PATCH v2 08/16] x86/efi: Carrying hibernation key by setup data joeyli <jlee@suse.com> - 2015-08-16 07:40 +0200
      Re: [PATCH v2 08/16] x86/efi: Carrying hibernation key by setup  data Jiri Kosina <jikos@kernel.org> - 2015-08-16 23:30 +0200
        Re: [PATCH v2 08/16] x86/efi: Carrying hibernation key by setup data Nigel Cunningham <nigel@nigelcunningham.com.au> - 2015-08-17 09:00 +0200
  [PATCH v2 06/16] x86/efi: Generating random HMAC key for siging hibernate image "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
  [PATCH v2 02/16] x86/efi: Add get and set variable to EFI services pointer table "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:20 +0200
    Re: [PATCH v2 02/16] x86/efi: Add get and set variable to EFI  services pointer table Matt Fleming <matt@codeblueprint.co.uk> - 2015-08-19 18:40 +0200
  [PATCH v2 10/16] PM / hibernate: Generate and verify signature of hibernate snapshot "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:30 +0200
  [PATCH v2 14/16] PM / hibernate: Allow user trigger hibernation key re-generating "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:30 +0200
  [PATCH v2 13/16] PM / hibernate: Add configuration to enforce signature verification "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:30 +0200
  [PATCH v2 12/16] PM / hibernate: Forward signature verifying result and key to image kernel "Lee, Chun-Yi" <joeyli.kernel@gmail.com> - 2015-08-11 08:30 +0200

csiph-web