ACK: [PATCH] uefi: uefirttime: fix the time zone to exact value

Colin Ian King colin.king at canonical.com
Tue Nov 7 09:03:15 UTC 2017


On 07/11/17 08:09, Ivan Hu wrote:
> UEFI spec defined the time zone value for -1440 to 1440 and 2047(unspecified
> time zone). Using timezone 1 is allowed by UEFI spec, however value 1 is not
> exact value on earth. Some firmware will check the exact timezone value on
> earth, so the test will fail. Modify the timezone value test with 0 and 2047
> for testing.
> 
> Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
> ---
>  src/uefi/uefirttime/uefirttime.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/uefi/uefirttime/uefirttime.c b/src/uefi/uefirttime/uefirttime.c
> index 7998f7f..d6df9d1 100644
> --- a/src/uefi/uefirttime/uefirttime.c
> +++ b/src/uefi/uefirttime/uefirttime.c
> @@ -321,7 +321,8 @@ static int uefirttime_test4(fwts_framework *fw)
>  	if (time.TimeZone != 0)
>  		time.TimeZone = 0;
>  	else
> -		time.TimeZone = 1;
> +		/* Unspecified timezone, local time */
> +		time.TimeZone = 2047;
>  
>  	settime.Time = &time;
>  	settime.status = &status;
> @@ -370,7 +371,7 @@ static int uefirttime_test4(fwts_framework *fw)
>  		return FWTS_ERROR;
>  	}
>  
> -	if (!((oldtime.TimeZone == 0) && (newtime.TimeZone == 1)) &&
> +	if (!((oldtime.TimeZone == 0) && (newtime.TimeZone == 2047)) &&
>  	    !((oldtime.TimeZone != 0) && (newtime.TimeZone == 0))) {
>  		fwts_failed(fw, LOG_LEVEL_HIGH, "UEFIRuntimeSetTimeTimezone",
>  			"Failed to set timezone with UEFI runtime service.");
> 
Those are interesting corner cases.

Acked-by: Colin Ian King <colin.king at canonical.com>




More information about the fwts-devel mailing list