On Wed, Feb 24, 2021 at 06:07:34PM +0530, Maninder Singh wrote:
> +bool slab_page_object(unsigned long address, void **object, struct 
> kmem_cache **cache)
> +{
> +     void *addr = (void *)address;
> +     struct page *page;
> +
> +     if ((addr >= (void *)PAGE_OFFSET) &&
> +                     (addr < high_memory)) {
> +             page = virt_to_head_page(addr);

This check is not sufficient. There can be holes in the page array.
You need to use virt_addr_valid() to validate "addr".

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Reply via email to