Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1191760 > unrolled thread

[RFC V2] arm64:use set_fixmap_offset to make it more clear

Started byyalin wang <yalin.wang2010@gmail.com>
First post2015-07-24 14:00 +0200
Last post2015-07-28 10:50 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [RFC V2] arm64:use set_fixmap_offset to make it more clear yalin wang <yalin.wang2010@gmail.com> - 2015-07-24 14:00 +0200
    Re: [RFC V2] arm64:use set_fixmap_offset to make it more clear yalin wang <yalin.wang2010@gmail.com> - 2015-07-28 08:40 +0200
      Re: [RFC V2] arm64:use set_fixmap_offset to make it more clear Will Deacon <will.deacon@arm.com> - 2015-07-28 10:50 +0200

#1191760 — [RFC V2] arm64:use set_fixmap_offset to make it more clear

Fromyalin wang <yalin.wang2010@gmail.com>
Date2015-07-24 14:00 +0200
Subject[RFC V2] arm64:use set_fixmap_offset to make it more clear
Message-ID<pPJNV-4T4-7@gated-at.bofh.it>
A little change to patch_map() function,
use set_fixmap_offset() to make code more clear.

Signed-off-by: yalin wang <yalin.wang2010@gmail.com>
---
 arch/arm64/kernel/insn.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/kernel/insn.c b/arch/arm64/kernel/insn.c
index dd9671c..f341866 100644
--- a/arch/arm64/kernel/insn.c
+++ b/arch/arm64/kernel/insn.c
@@ -101,9 +101,8 @@ static void __kprobes *patch_map(void *addr, int fixmap)
 		return addr;
 
 	BUG_ON(!page);
-	set_fixmap(fixmap, page_to_phys(page));
-
-	return (void *) (__fix_to_virt(fixmap) + (uintaddr & ~PAGE_MASK));
+	return (void *)set_fixmap_offset(fixmap, page_to_phys(page) +
+			(uintaddr & ~PAGE_MASK));
 }
 
 static void __kprobes patch_unmap(int fixmap)
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1193804

Fromyalin wang <yalin.wang2010@gmail.com>
Date2015-07-28 08:40 +0200
Message-ID<pR6Iq-1bm-11@gated-at.bofh.it>
In reply to#1191760
> On Jul 24, 2015, at 19:52, yalin wang <yalin.wang2010@gmail.com> wrote:
> 
> A little change to patch_map() function,
> use set_fixmap_offset() to make code more clear.
> 
> Signed-off-by: yalin wang <yalin.wang2010@gmail.com>
> ---
> arch/arm64/kernel/insn.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/kernel/insn.c b/arch/arm64/kernel/insn.c
> index dd9671c..f341866 100644
> --- a/arch/arm64/kernel/insn.c
> +++ b/arch/arm64/kernel/insn.c
> @@ -101,9 +101,8 @@ static void __kprobes *patch_map(void *addr, int fixmap)
> 		return addr;
> 
> 	BUG_ON(!page);
> -	set_fixmap(fixmap, page_to_phys(page));
> -
> -	return (void *) (__fix_to_virt(fixmap) + (uintaddr & ~PAGE_MASK));
> +	return (void *)set_fixmap_offset(fixmap, page_to_phys(page) +
> +			(uintaddr & ~PAGE_MASK));
> }
> 
> static void __kprobes patch_unmap(int fixmap)
> -- 
> 1.9.1
> 
Marinas,
this V2 patch can build without warning even CONFIG_DEBUG_SET_MODULE_RONX enabled,
could you review it.
Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1193886

FromWill Deacon <will.deacon@arm.com>
Date2015-07-28 10:50 +0200
Message-ID<pR8Kd-43p-13@gated-at.bofh.it>
In reply to#1193804
On Tue, Jul 28, 2015 at 07:31:20AM +0100, yalin wang wrote:
> 
> > On Jul 24, 2015, at 19:52, yalin wang <yalin.wang2010@gmail.com> wrote:
> > 
> > A little change to patch_map() function,
> > use set_fixmap_offset() to make code more clear.
> > 
> > Signed-off-by: yalin wang <yalin.wang2010@gmail.com>
> > ---
> > arch/arm64/kernel/insn.c | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/arch/arm64/kernel/insn.c b/arch/arm64/kernel/insn.c
> > index dd9671c..f341866 100644
> > --- a/arch/arm64/kernel/insn.c
> > +++ b/arch/arm64/kernel/insn.c
> > @@ -101,9 +101,8 @@ static void __kprobes *patch_map(void *addr, int fixmap)
> > 		return addr;
> > 
> > 	BUG_ON(!page);
> > -	set_fixmap(fixmap, page_to_phys(page));
> > -
> > -	return (void *) (__fix_to_virt(fixmap) + (uintaddr & ~PAGE_MASK));
> > +	return (void *)set_fixmap_offset(fixmap, page_to_phys(page) +
> > +			(uintaddr & ~PAGE_MASK));
> > }
> > 
> > static void __kprobes patch_unmap(int fixmap)
> > -- 
> > 1.9.1
> > 
> Marinas,
> this V2 patch can build without warning even CONFIG_DEBUG_SET_MODULE_RONX enabled,
> could you review it.
> Thanks.

I queued this already for 4.3. There's a (benign) sparse warning about the
addr parameter to patch_map being overridden by the local scope of
set_fixmap_offset which could be solved with a healthy portion of
underscores in the core code.

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web