[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/2] hvmloader: remove timestamp from smbios



On 03/02/15 15:54, Olaf Hering wrote:
> Including a timestamp into the binary makes it impossible to get
> reproducible binaries. Remove the timestamp because it carries no
> valuable info.
>
> Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
> Cc: Keir Fraser <keir@xxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---

I agree with the sentiment, but this is not how to do it.

A release date is part of the SMBIOS spec, and the change below results
in a malformed smbios table (stale p->release_date_str = 3; pointer)

A better approach would be to derive the date from the commit date of
HEAD, which would be consistent across rebuilds.

~Andrew

>  tools/firmware/hvmloader/Makefile | 1 -
>  tools/firmware/hvmloader/smbios.c | 8 --------
>  2 files changed, 9 deletions(-)
>
> diff --git a/tools/firmware/hvmloader/Makefile 
> b/tools/firmware/hvmloader/Makefile
> index b759e81..b4cdaae 100644
> --- a/tools/firmware/hvmloader/Makefile
> +++ b/tools/firmware/hvmloader/Makefile
> @@ -88,7 +88,6 @@ all: subdirs-all
>       $(MAKE) hvmloader
>  
>  ovmf.o rombios.o seabios.o hvmloader.o: roms.inc
> -smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(shell date +%m/%d/%Y)\""
>  
>  hvmloader: $(OBJS) acpi/acpi.a
>       $(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) -o hvmloader.tmp $^
> diff --git a/tools/firmware/hvmloader/smbios.c 
> b/tools/firmware/hvmloader/smbios.c
> index 4d3d692..f48465e 100644
> --- a/tools/firmware/hvmloader/smbios.c
> +++ b/tools/firmware/hvmloader/smbios.c
> @@ -381,7 +381,6 @@ smbios_type_0_init(void *start, const char *xen_version,
>                     uint32_t xen_major_version, uint32_t xen_minor_version)
>  {
>      struct smbios_type_0 *p = (struct smbios_type_0 *)start;
> -    static const char *smbios_release_date = __SMBIOS_DATE__;
>      const char *s;
>      void *pts;
>      uint32_t length;
> @@ -427,9 +426,6 @@ smbios_type_0_init(void *start, const char *xen_version,
>      strcpy((char *)start, s);
>      start += strlen(s) + 1;
>  
> -    strcpy((char *)start, smbios_release_date);
> -    start += strlen(smbios_release_date) + 1;
> -
>      *((uint8_t *)start) = 0;
>      return start + 1;
>  }
> @@ -789,7 +785,6 @@ static void *
>  smbios_type_22_init(void *start)
>  {
>      struct smbios_type_22 *p = (struct smbios_type_22 *)start;
> -    static const char *smbios_release_date = __SMBIOS_DATE__;
>      const char *s;
>      void *pts;
>      uint32_t length;
> @@ -837,9 +832,6 @@ smbios_type_22_init(void *start)
>      strcpy((char *)start, s);
>      start += strlen(s) + 1;
>  
> -    strcpy((char *)start, smbios_release_date);
> -    start += strlen(smbios_release_date) + 1;
> -
>      s = xenstore_read(HVM_XS_BATTERY_DEVICE_NAME, "XEN-VBAT");
>      strcpy((char *)start, s);
>      start += strlen(s) + 1;


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.