Skip to content

Commit

Permalink
mm: do not export ioremap_page_range symbol for external module
Browse files Browse the repository at this point in the history
Recently, I've found cases in which ioremap_page_range was used
incorrectly, in external modules, leading to crashes.  This can be
partly attributed to the fact that ioremap_page_range is lower-level,
with fewer protections, as compared to the other functions that an
external module would typically call.  Those include:

     ioremap_cache
     ioremap_nocache
     ioremap_prot
     ioremap_uc
     ioremap_wc
     ioremap_wt

...each of which wraps __ioremap_caller, which in turn provides a safer
way to achieve the mapping.

Therefore, stop EXPORT-ing ioremap_page_range.

Link: http://lkml.kernel.org/r/1485173220-29010-1-git-send-email-zhongjiang@huawei.com
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Suggested-by: John Hubbard <jhubbard@nvidia.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
xiongzhongjiang authored and torvalds committed Jan 25, 2017
1 parent 3705ccf commit 3277953
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion lib/ioremap.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,4 +144,3 @@ int ioremap_page_range(unsigned long addr,

return err;
}
EXPORT_SYMBOL_GPL(ioremap_page_range);

0 comments on commit 3277953

Please sign in to comment.