Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1214730
| From | Rabin Vincent <rabin@rab.in> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] arm: insn: use set_fixmap_offset to make it more clear |
| Date | 2015-08-27 19:30 +0200 |
| Message-ID | <q299U-2Go-7@gated-at.bofh.it> (permalink) |
| References | <q1xHj-7wd-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, Aug 26, 2015 at 09:24:26AM +0800, yalin wang 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/arm/kernel/patch.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/kernel/patch.c b/arch/arm/kernel/patch.c > index 69bda1a..5779105 100644 > --- a/arch/arm/kernel/patch.c > +++ b/arch/arm/kernel/patch.c > @@ -36,9 +36,8 @@ static void __kprobes *patch_map(void *addr, int fixmap, unsigned long *flags) > else > __acquire(&patch_lock); > > - 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)); > } Perhaps a temporary variable to make it clearerer? Something like this: diff --git a/arch/arm/kernel/patch.c b/arch/arm/kernel/patch.c index 69bda1a..0b8e594 100644 --- a/arch/arm/kernel/patch.c +++ b/arch/arm/kernel/patch.c @@ -23,6 +23,7 @@ static void __kprobes *patch_map(void *addr, int fixmap, unsigned long *flags) unsigned int uintaddr = (uintptr_t) addr; bool module = !core_kernel_text(uintaddr); struct page *page; + phys_addr_t phys; if (module && IS_ENABLED(CONFIG_DEBUG_SET_MODULE_RONX)) page = vmalloc_to_page(addr); @@ -36,9 +37,8 @@ static void __kprobes *patch_map(void *addr, int fixmap, unsigned long *flags) else __acquire(&patch_lock); - set_fixmap(fixmap, page_to_phys(page)); - - return (void *) (__fix_to_virt(fixmap) + (uintaddr & ~PAGE_MASK)); + phys = page_to_phys(page) + (uintaddr & ~PAGE_MASK); + return (void *) set_fixmap_offset(fixmap, phys); } static void __kprobes patch_unmap(int fixmap, unsigned long *flags) -- 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/
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH] arm: insn: use set_fixmap_offset to make it more clear yalin wang <yalin.wang2010@gmail.com> - 2015-08-26 03:30 +0200 Re: [PATCH] arm: insn: use set_fixmap_offset to make it more clear Rabin Vincent <rabin@rab.in> - 2015-08-27 19:30 +0200
csiph-web