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!