History

mm/nvdimm: add is_ioremap_addr and use that to check ioremap address

Architectures like powerpc use different address range to map ioremap and vmalloc range. The memunmap() check used by the nvdimm layer was wrongly using is_vmalloc_addr() to check for ioremap range which fails for ppc64. This result in ppc64 not freeing the ioremap mapping. The side effect of this is an unbind failure during module unload with papr_scm nvdimm driver

Aneesh Kumar K.V committed 7 years ago

Commit 9bd3bb61 parent 2c012a43 files · +20 −1Browse files

Showing the changes to include/linux (1 of 3 files). Show all

Unified · Split

include/linux/mm.h+5−0
@@ -633,6 +633,11 @@ static inline bool is_vmalloc_addr(const void *x) · 632 unmodified lines
633633 return false;
634634 #endif
635635 }
636+
637+#ifndef is_ioremap_addr
638+#define is_ioremap_addr(x) is_vmalloc_addr(x)
639+#endif
640+
636641 #ifdef CONFIG_MMU
637642 extern int is_vmalloc_or_module_addr(const void *x);
638643 #else

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t