From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933234AbcFOVsn (ORCPT ); Wed, 15 Jun 2016 17:48:43 -0400 Received: from mail-wm0-f53.google.com ([74.125.82.53]:38693 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753203AbcFOVsk (ORCPT ); Wed, 15 Jun 2016 17:48:40 -0400 From: Rasmus Villemoes To: Andrew Morton , Yang Shi , Prarit Bhargava , Rasmus Villemoes , Petr Mladek Cc: linux-kernel@vger.kernel.org Subject: [PATCH] init/main.c: fix initcall_blacklisted on ia64, ppc64 and parisc64 Date: Wed, 15 Jun 2016 23:48:01 +0200 Message-Id: <1466027283-4065-1-git-send-email-linux@rasmusvillemoes.dk> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When I replaced kasprintf("%pf") with a direct call to sprint_symbol_no_offset I must have broken the initcall blacklisting feature on the arches where dereference_function_descriptor() is non-trivial. Fixes: c8cdd2be213f (init/main.c: simplify initcall_blacklisted()) Signed-off-by: Rasmus Villemoes --- init/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/init/main.c b/init/main.c index 4c17fda5c2ff..63a5afb54f25 100644 --- a/init/main.c +++ b/init/main.c @@ -708,11 +708,13 @@ static bool __init_or_module initcall_blacklisted(initcall_t fn) { struct blacklist_entry *entry; char fn_name[KSYM_SYMBOL_LEN]; + unsigned long addr; if (list_empty(&blacklisted_initcalls)) return false; - sprint_symbol_no_offset(fn_name, (unsigned long)fn); + addr = (unsigned long) dereference_function_descriptor(fn); + sprint_symbol_no_offset(fn_name, addr); list_for_each_entry(entry, &blacklisted_initcalls, next) { if (!strcmp(fn_name, entry->buf)) { -- 2.1.4