RE: [PATCH v2 5/7] ACPI / x86: introduce acpi_os_readable() support

From: Chen, Yu C
Date: Tue Nov 10 2015 - 04:42:51 EST


Hi, Lv
Sorry for my late feedback on the patch, one minor nit below:

> -----Original Message-----
> From: Zheng, Lv
> Sent: Tuesday, November 10, 2015 4:22 PM
> To: Wysocki, Rafael J; Brown, Len
> Cc: Zheng, Lv; Lv Zheng; linux-kernel@xxxxxxxxxxxxxxx; linux-
> acpi@xxxxxxxxxxxxxxx; Chen, Yu C
> Subject: [PATCH v2 5/7] ACPI / x86: introduce acpi_os_readable() support
>
> From: Chen Yu <yu.c.chen@xxxxxxxxx>
>
> This patch implements acpi_os_readable(). The function is used by ACPI AML
> debugger to validate user specified pointers for the dumpable AML operand
> objects.
>
> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx>
> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
> ---
> +bool __acpi_memory_readable(void *pointer, size_t length) {
> + unsigned long start_pfn, end_pfn;
> +
We should only check the low memory, otherwise the highmem address might
bring unexpected behavior in this function, I think we should add:
if (pointer >= PAGE_OFFSET)
return false;
> + start_pfn = page_to_pfn(virt_to_page(pointer));
> + end_pfn = page_to_pfn(virt_to_page(pointer + length));
Convert pointer to char* first?
end_pfn = page_to_pfn(virt_to_page((char*)pointer + length));

> + /*
> + * Since the acpi address is allocated by kmalloc, we only
> + * need to consider the direct-mapping virtual address,
> + * rather than the kmap/vmalloc/ioremap address.
> + */
> + return pfn_range_is_mapped(start_pfn, end_pfn) ? true : false; }
> +
Thanks!

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