From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752505AbbEFN7U (ORCPT ); Wed, 6 May 2015 09:59:20 -0400 Received: from casper.infradead.org ([85.118.1.10]:49253 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751268AbbEFN7S (ORCPT ); Wed, 6 May 2015 09:59:18 -0400 Message-Id: <20150506135643.954941233@infradead.org> User-Agent: quilt/0.61-1 Date: Wed, 06 May 2015 15:51:47 +0200 From: Peter Zijlstra To: mingo@kernel.org, rusty@rustcorp.com.au, mathieu.desnoyers@efficios.com, oleg@redhat.com, paulmck@linux.vnet.ibm.com, torvalds@linux-foundation.org Cc: linux-kernel@vger.kernel.org, andi@firstfloor.org, rostedt@goodmis.org, tglx@linutronix.de, laijs@cn.fujitsu.com, linux@horizon.com, peterz@infradead.org Subject: [PATCH v6 8/9] module: Use __module_address() for module_address_lookup() References: <20150506135139.751304211@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline; filename=peterz-module-use-__module_address.patch Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use the generic __module_address() addr to struct module lookup instead of open coding it once more. Cc: Rusty Russell Signed-off-by: Peter Zijlstra (Intel) --- kernel/module.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) --- a/kernel/module.c +++ b/kernel/module.c @@ -3515,19 +3515,15 @@ const char *module_address_lookup(unsign char **modname, char *namebuf) { - struct module *mod; const char *ret = NULL; + struct module *mod; preempt_disable(); - list_for_each_entry_rcu(mod, &modules, list) { - if (mod->state == MODULE_STATE_UNFORMED) - continue; - if (within_module(addr, mod)) { - if (modname) - *modname = mod->name; - ret = get_ksymbol(mod, addr, size, offset); - break; - } + mod = __module_address(addr); + if (mod) { + if (modname) + *modname = mod->name; + ret = get_ksymbol(mod, addr, size, offset); } /* Make a copy in here where it's safe */ if (ret) { @@ -3535,6 +3531,7 @@ const char *module_address_lookup(unsign ret = namebuf; } preempt_enable(); + return ret; }