On Fri, 17 May 2019 16:08:34 +0530 Anshuman Khandual <anshuman.khandual@xxxxxxx> wrote: > The presence of struct page does not guarantee linear mapping for the pfn > physical range. Device private memory which is non-coherent is excluded > from linear mapping during devm_memremap_pages() though they will still > have struct page coverage. Just check for device private memory before > giving out virtual address for a given pfn. I was going to give my standard "what are the user-visible runtime effects of this change?", but... > All these helper functions are all pfn_t related but could not figure out > another way of determining a private pfn without looking into it's struct > page. pfn_t_to_virt() is not getting used any where in mainline kernel.Is > it used by out of tree drivers ? Should we then drop it completely ? Yeah, let's kill it. But first, let's fix it so that if someone brings it back, they bring back a non-buggy version. So... what (would be) the user-visible runtime effects of this change?