Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752740AbbH0R0z (ORCPT ); Thu, 27 Aug 2015 13:26:55 -0400 Received: from mail-lb0-f170.google.com ([209.85.217.170]:34362 "EHLO mail-lb0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751401AbbH0R0y (ORCPT ); Thu, 27 Aug 2015 13:26:54 -0400 Date: Thu, 27 Aug 2015 19:26:48 +0200 From: Rabin Vincent To: yalin wang Cc: linux@arm.linux.org.uk, wangnan0@huawei.com, nico@linaro.org, masami.hiramatsu.pt@hitachi.com, keescook@chromium.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, will.deacon@arm.com Subject: Re: [PATCH] arm: insn: use set_fixmap_offset to make it more clear Message-ID: <20150827172605.GA5251@debian> References: <1440552266-19940-1-git-send-email-yalin.wang2010@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1440552266-19940-1-git-send-email-yalin.wang2010@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2052 Lines: 55 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 > --- > 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/