ACK: [PATCH 7/8] dmi: dmicheck: fix incorrect safe memory read check on DMI mmap'd region

ivanhu ivan.hu at canonical.com
Mon Jul 17 09:49:21 UTC 2017



On 07/14/2017 05:52 PM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
> 
> We should be checking the mmap'd address and not the original physical address.
> 
> Fixes: 07bffc61ffb0 ("dmi: dmicheck: ensure mmap'd SMBIOS data is readable before accessing it")
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>   src/dmi/dmicheck/dmicheck.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
> index 306a0088..eca49717 100644
> --- a/src/dmi/dmicheck/dmicheck.c
> +++ b/src/dmi/dmicheck/dmicheck.c
> @@ -333,7 +333,7 @@ static void* dmi_table_smbios(fwts_framework *fw, fwts_smbios_entry *entry)
>   	mem = fwts_mmap(addr, length);
>   	if (mem != FWTS_MAP_FAILED) {
>   		/* Can we safely copy the table? */
> -		if (fwts_safe_memread((void *)addr, length) != FWTS_OK) {
> +		if (fwts_safe_memread((void *)mem, length) != FWTS_OK) {
>   			fwts_log_info(fw, "SMBIOS table at %p cannot be read", (void *)addr);
>   			(void)fwts_munmap(mem, length);
>   			return NULL;
> @@ -380,7 +380,7 @@ static void* dmi_table_smbios30(fwts_framework *fw, fwts_smbios30_entry *entry)
>   	mem = fwts_mmap(addr, length);
>   	if (mem != FWTS_MAP_FAILED) {
>   		/* Can we safely copy the table? */
> -		if (fwts_safe_memread((void *)addr, length) != FWTS_OK) {
> +		if (fwts_safe_memread((void *)mem, length) != FWTS_OK) {
>   			fwts_log_info(fw, "SMBIOS table at %p cannot be read", (void *)addr);
>   			(void)fwts_munmap(mem, length);
>   			return NULL;
> 

Acked-by: Ivan Hu <ivan.hu at canonical.com>



More information about the fwts-devel mailing list