Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1564395 > unrolled thread
| Started by | zhongjiang <zhongjiang@huawei.com> |
|---|---|
| First post | 2017-01-22 14:10 +0100 |
| Last post | 2017-01-23 13:00 +0100 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] mm: do not export ioremap_page_range symbol for external module zhongjiang <zhongjiang@huawei.com> - 2017-01-22 14:10 +0100
Re: [PATCH] mm: do not export ioremap_page_range symbol for external module John Hubbard <jhubbard@nvidia.com> - 2017-01-22 23:30 +0100
Re: [PATCH] mm: do not export ioremap_page_range symbol for external module zhong jiang <zhongjiang@huawei.com> - 2017-01-23 02:20 +0100
Re: [PATCH] mm: do not export ioremap_page_range symbol for external module John Hubbard <jhubbard@nvidia.com> - 2017-01-23 02:40 +0100
Re: [PATCH] mm: do not export ioremap_page_range symbol for external module zhong jiang <zhongjiang@huawei.com> - 2017-01-23 13:00 +0100
| From | zhongjiang <zhongjiang@huawei.com> |
|---|---|
| Date | 2017-01-22 14:10 +0100 |
| Subject | [PATCH] mm: do not export ioremap_page_range symbol for external module |
| Message-ID | <t2q49-1aU-5@gated-at.bofh.it> |
From: zhong jiang <zhongjiang@huawei.com> Recently, I find the ioremap_page_range had been abusing. The improper address mapping is a issue. it will result in the crash. so, remove the symbol. It can be replaced by the ioremap_cache or others symbol. Signed-off-by: zhong jiang <zhongjiang@huawei.com> --- lib/ioremap.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/ioremap.c b/lib/ioremap.c index 86c8911..a3e14ce 100644 --- a/lib/ioremap.c +++ b/lib/ioremap.c @@ -144,4 +144,3 @@ int ioremap_page_range(unsigned long addr, return err; } -EXPORT_SYMBOL_GPL(ioremap_page_range); -- 1.8.3.1
[toc] | [next] | [standalone]
| From | John Hubbard <jhubbard@nvidia.com> |
|---|---|
| Date | 2017-01-22 23:30 +0100 |
| Subject | Re: [PATCH] mm: do not export ioremap_page_range symbol for external module |
| Message-ID | <t2yO5-6vr-9@gated-at.bofh.it> |
| In reply to | #1564395 |
On 01/22/2017 04:58 AM, zhongjiang wrote:
> From: zhong jiang <zhongjiang@huawei.com>
>
> Recently, I find the ioremap_page_range had been abusing. The improper
> address mapping is a issue. it will result in the crash. so, remove
> the symbol. It can be replaced by the ioremap_cache or others symbol.
Hi Zhong,
After thinking about this for a bit, and looking through our own (out-of-tree) kernel modules, I
think you have a good point. I just can't see any reason for a driver to call ioremap_page_range
directly. So the code change looks good to me.
For the commit description, here is a proposed re-wording, optional, that perhaps may be a little
clearer. See if you like it?
-------
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.
-------
I may get some heat for this if another out-of-tree driver needs that symbol, but if no one else
pops up and shrieks, you can add:
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
thanks,
john h
>
> Signed-off-by: zhong jiang <zhongjiang@huawei.com>
> ---
> lib/ioremap.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/lib/ioremap.c b/lib/ioremap.c
> index 86c8911..a3e14ce 100644
> --- a/lib/ioremap.c
> +++ b/lib/ioremap.c
> @@ -144,4 +144,3 @@ int ioremap_page_range(unsigned long addr,
>
> return err;
> }
> -EXPORT_SYMBOL_GPL(ioremap_page_range);
> --
> 1.8.3.1
>
[toc] | [prev] | [next] | [standalone]
| From | zhong jiang <zhongjiang@huawei.com> |
|---|---|
| Date | 2017-01-23 02:20 +0100 |
| Subject | Re: [PATCH] mm: do not export ioremap_page_range symbol for external module |
| Message-ID | <t2BsB-8iC-13@gated-at.bofh.it> |
| In reply to | #1564395 |
On 2017/1/22 20:58, zhongjiang wrote: > From: zhong jiang <zhongjiang@huawei.com> > > Recently, I find the ioremap_page_range had been abusing. The improper > address mapping is a issue. it will result in the crash. so, remove > the symbol. It can be replaced by the ioremap_cache or others symbol. > > Signed-off-by: zhong jiang <zhongjiang@huawei.com> > --- > lib/ioremap.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/lib/ioremap.c b/lib/ioremap.c > index 86c8911..a3e14ce 100644 > --- a/lib/ioremap.c > +++ b/lib/ioremap.c > @@ -144,4 +144,3 @@ int ioremap_page_range(unsigned long addr, > > return err; > } > -EXPORT_SYMBOL_GPL(ioremap_page_range); self nack
[toc] | [prev] | [next] | [standalone]
| From | John Hubbard <jhubbard@nvidia.com> |
|---|---|
| Date | 2017-01-23 02:40 +0100 |
| Subject | Re: [PATCH] mm: do not export ioremap_page_range symbol for external module |
| Message-ID | <t2BLY-8p1-9@gated-at.bofh.it> |
| In reply to | #1564620 |
On 01/22/2017 05:14 PM, zhong jiang wrote: > On 2017/1/22 20:58, zhongjiang wrote: >> From: zhong jiang <zhongjiang@huawei.com> >> >> Recently, I find the ioremap_page_range had been abusing. The improper >> address mapping is a issue. it will result in the crash. so, remove >> the symbol. It can be replaced by the ioremap_cache or others symbol. >> >> Signed-off-by: zhong jiang <zhongjiang@huawei.com> >> --- >> lib/ioremap.c | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/lib/ioremap.c b/lib/ioremap.c >> index 86c8911..a3e14ce 100644 >> --- a/lib/ioremap.c >> +++ b/lib/ioremap.c >> @@ -144,4 +144,3 @@ int ioremap_page_range(unsigned long addr, >> >> return err; >> } >> -EXPORT_SYMBOL_GPL(ioremap_page_range); > self nack > heh. What changed your mind?
[toc] | [prev] | [next] | [standalone]
| From | zhong jiang <zhongjiang@huawei.com> |
|---|---|
| Date | 2017-01-23 13:00 +0100 |
| Subject | Re: [PATCH] mm: do not export ioremap_page_range symbol for external module |
| Message-ID | <t2LrX-5Y8-1@gated-at.bofh.it> |
| In reply to | #1564632 |
On 2017/1/23 9:30, John Hubbard wrote: > > > On 01/22/2017 05:14 PM, zhong jiang wrote: >> On 2017/1/22 20:58, zhongjiang wrote: >>> From: zhong jiang <zhongjiang@huawei.com> >>> >>> Recently, I find the ioremap_page_range had been abusing. The improper >>> address mapping is a issue. it will result in the crash. so, remove >>> the symbol. It can be replaced by the ioremap_cache or others symbol. >>> >>> Signed-off-by: zhong jiang <zhongjiang@huawei.com> >>> --- >>> lib/ioremap.c | 1 - >>> 1 file changed, 1 deletion(-) >>> >>> diff --git a/lib/ioremap.c b/lib/ioremap.c >>> index 86c8911..a3e14ce 100644 >>> --- a/lib/ioremap.c >>> +++ b/lib/ioremap.c >>> @@ -144,4 +144,3 @@ int ioremap_page_range(unsigned long addr, >>> >>> return err; >>> } >>> -EXPORT_SYMBOL_GPL(ioremap_page_range); >> self nack >> > > heh. What changed your mind? > Very sorry, I mistake own kernel modules call it directly. Thank you review the patch . I will take your changelog and send it in v2. Thanks zhongjiang > . >
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web