Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1270759
| From | "Zheng, Lv" <lv.zheng@intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | RE: [PATCH v2 5/7] ACPI / x86: introduce acpi_os_readable() support |
| Date | 2015-11-17 02:50 +0100 |
| Message-ID | <qvDzb-6Jk-15@gated-at.bofh.it> (permalink) |
| References | <qrJ0u-Z9-3@gated-at.bofh.it> <qtctr-2BN-5@gated-at.bofh.it> <qtcts-2BN-11@gated-at.bofh.it> <qtdIR-3jG-17@gated-at.bofh.it> <qtvPr-6MZ-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi, Yu
> From: Zheng, Lv
> Sent: Wednesday, November 11, 2015 1:07 PM
>
> Hi, Yu
>
> > From: Chen, Yu C
> > Sent: Tuesday, November 10, 2015 5:43 PM
> >
> > Hi, Lv
> > Sorry for my late feedback on the patch, one minor nit below:
> >
> > > From: Zheng, Lv
> > > Sent: Tuesday, November 10, 2015 4:22 PM
> > >
> > > From: Chen Yu <yu.c.chen@intel.com>
> > >
> > > 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@intel.com>
> > > Signed-off-by: Lv Zheng <lv.zheng@intel.com>
> > > ---
> > > +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;
>
> I think pfn_range_is_mapped() can ensure this.
> If you want to add some sanity checks, IMO, virt_addr_valid() could be better.
I confirmed that pfn_range_is_mapped() doesn't cover this for us.
We need such a check or enhance this in pfn_range_is_mapped().
I'll remove this patch from this patchset and re-send the rest of the patches in this patchset as v3.
For acpi_os_readable() support, I'll create a separate RFC patchset with different approaches included.
Thanks and best regards
-Lv
>
> > > + 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));
>
> Either a compiler supports such a conversion or a compiler ends up fatal error by complaining unknown sizeof(void *).
> So there is no need to do this here as the build test has passed.
>
> Thanks and best regards
> -Lv
>
> >
> > > + /*
> > > + * 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@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 | Next | Find similar | Unroll thread
RE: [PATCH v2 5/7] ACPI / x86: introduce acpi_os_readable() support "Zheng, Lv" <lv.zheng@intel.com> - 2015-11-17 02:50 +0100
csiph-web