From patchwork Fri Jan 5 10:25:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergey Senozhatsky X-Patchwork-Id: 10146247 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id AF90E601A1 for ; Fri, 5 Jan 2018 10:25:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9F3F72887E for ; Fri, 5 Jan 2018 10:25:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 93B9628883; Fri, 5 Jan 2018 10:25:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4C68D2887E for ; Fri, 5 Jan 2018 10:25:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750985AbeAEKZp (ORCPT ); Fri, 5 Jan 2018 05:25:45 -0500 Received: from mail-pl0-f65.google.com ([209.85.160.65]:35040 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750787AbeAEKZo (ORCPT ); Fri, 5 Jan 2018 05:25:44 -0500 Received: by mail-pl0-f65.google.com with SMTP id b96so2833773pli.2; Fri, 05 Jan 2018 02:25:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Th7GJXn1Gx/7KYK9yWFsmG1jSON7w4+ljUcaiZZQslg=; b=uZ1eIj5gTq6pEGyLvOXyh/gZWIKQksvFXYa7sjFiMlEkezA/QEyCI4KuODru2E4Mxv 9rL60J4lSE0HApKyy9C01MbN5fb/fS2p0CfeUHmR1iNJQVAxxHNuhnHJJTV6BrQsRSAZ FLKh9N2wyW9GBSCB+Q10Hg9ghrpMjeu/Xjq6aECiiY3Ho85fBhbuqcBYsYc8C1T3NpIW iBHaLVdBDbjlzPdXb5Tb7sHwsgzFGdsWYn6J9cCYyhEzFhXAF807OuLchQP1RuNxoBNN o5GJBpMrsl4SwSaU4H2ssQ0zA23Ujqg1rN29gJp+MIvl8ZV1htuu/nEMVvD3j7Rr/dcW O57A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Th7GJXn1Gx/7KYK9yWFsmG1jSON7w4+ljUcaiZZQslg=; b=kKLPtt4bA+VD7KnAEah3CeoOXv1dototpsENU8oJBvSD7tOh6Q0AkdrRuCWwX7B1vO sroD6TPFyqri14J1JzD15NmNzcxcxsR+ZKQ3029FDrmcsnBtleWY1PEbPdmO9q1cBkd+ sobB8FgUw3G8C69BSFp5o2ZWQBJ00/rqYoKB0+CVjtBUN80zpfC97gGcUQ/uVb7BJu2Z D5FLgK7hUV4atRkiFBdKIkR+Lsqvj2HYJ3T8U9nuczWmKLvilzD6TUtEl25iUzfBdVvh lYJ5R0U0gfr6NvL8KgUtpmqlrEtfNbrqMPGWmvvwNX5JaCs4lnHa2LoMtWFEjBEn/grJ Y+7w== X-Gm-Message-State: AKGB3mIZupWuEFSQHmZ5GDGGauXUeY9BPcLMvTPBzYghywG9UiaTbHjL vADH7tjjVovRnF3YjQPihhE= X-Google-Smtp-Source: ACJfBovCYZdAfuMjZ9n+i9etn+9qEUk7Pak6lgDcFZD5+5j1bfo+CcgLkJKHIyi/hS2Eq1hfMNHkzA== X-Received: by 10.159.245.138 with SMTP id a10mr2639190pls.178.1515147943286; Fri, 05 Jan 2018 02:25:43 -0800 (PST) Received: from localhost ([175.223.14.195]) by smtp.gmail.com with ESMTPSA id n22sm9869210pgd.86.2018.01.05.02.25.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 Jan 2018 02:25:41 -0800 (PST) Date: Fri, 5 Jan 2018 19:25:38 +0900 From: Sergey Senozhatsky To: Sergey Senozhatsky Cc: Petr Mladek , Andrew Morton , Russell King , Catalin Marinas , Mark Salter , Tony Luck , David Howells , Yoshinori Sato , Guan Xuetao , Borislav Petkov , Greg Kroah-Hartman , Thomas Gleixner , Peter Zijlstra , Vineet Gupta , Fengguang Wu , Steven Rostedt , LKML , linux-arm-kernel@lists.infradead.org, linux-c6x-dev@linux-c6x.org, linux-ia64@vger.kernel.org, linux-am33-list@redhat.com, linux-sh@vger.kernel.org, linux-edac@vger.kernel.org, x86@kernel.org, linux-snps-arc@lists.infradead.org, Sergey Senozhatsky Subject: Re: [PATCH 00/13] replace print_symbol() with printk()-s Message-ID: <20180105102538.GC471@jagdpanzerIV> References: <20171211125025.2270-1-sergey.senozhatsky@gmail.com> <20180105100300.j3svmcvvpfe2iows@pathway.suse.cz> <20180105102105.GB471@jagdpanzerIV> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180105102105.GB471@jagdpanzerIV> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On (01/05/18 19:21), Sergey Senozhatsky wrote: > On (01/05/18 11:03), Petr Mladek wrote: > [..] > > Anyway, print_symbol() is an old weird API and it would be nice > > to eventually get rid of it. I could take this patches into > > printk.git. > > no objections from my side if the patch set will go through the printk tree. > shall we wait for ACKs or can we move on? do you plan to land it in 4.16? > > > Would you mind if I change the commit messages to something like?: > > > > print_symbol() is an old weird API. It has been > > obsoleted by printk() and %pS format specifier. > > I wouldn't. let's drop the "weird" part. other than that looks > good to me. oh, one more thing. one extra patch, which gets rid of print_symbol()/__print_symbol(). 8< === From: Sergey Senozhatsky Subject: [PATCH] kallsyms: remove print_symbol() function No more print_symbol()/__print_symbol() users left, remove these symbols. Signed-off-by: Sergey Senozhatsky Suggested-by: Joe Perches --- Documentation/filesystems/sysfs.txt | 4 ++-- Documentation/translations/zh_CN/filesystems/sysfs.txt | 4 ++-- include/linux/kallsyms.h | 18 ------------------ kernel/kallsyms.c | 11 ----------- 4 files changed, 4 insertions(+), 33 deletions(-) diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt index 9a3658cc399e..a1426cabcef1 100644 --- a/Documentation/filesystems/sysfs.txt +++ b/Documentation/filesystems/sysfs.txt @@ -154,8 +154,8 @@ static ssize_t dev_attr_show(struct kobject *kobj, struct attribute *attr, if (dev_attr->show) ret = dev_attr->show(dev, dev_attr, buf); if (ret >= (ssize_t)PAGE_SIZE) { - print_symbol("dev_attr_show: %s returned bad count\n", - (unsigned long)dev_attr->show); + printk("dev_attr_show: %pS returned bad count\n", + dev_attr->show); } return ret; } diff --git a/Documentation/translations/zh_CN/filesystems/sysfs.txt b/Documentation/translations/zh_CN/filesystems/sysfs.txt index 7d3b05edb8ce..452271dda141 100644 --- a/Documentation/translations/zh_CN/filesystems/sysfs.txt +++ b/Documentation/translations/zh_CN/filesystems/sysfs.txt @@ -167,8 +167,8 @@ static ssize_t dev_attr_show(struct kobject *kobj, struct attribute *attr, if (dev_attr->show) ret = dev_attr->show(dev, dev_attr, buf); if (ret >= (ssize_t)PAGE_SIZE) { - print_symbol("dev_attr_show: %s returned bad count\n", - (unsigned long)dev_attr->show); + printk("dev_attr_show: %pS returned bad count\n", + dev_attr->show); } return ret; } diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index 23190e5c940b..657a83b943f0 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h @@ -94,9 +94,6 @@ extern int sprint_symbol(char *buffer, unsigned long address); extern int sprint_symbol_no_offset(char *buffer, unsigned long address); extern int sprint_backtrace(char *buffer, unsigned long address); -/* Look up a kernel symbol and print it to the kernel messages. */ -extern void __print_symbol(const char *fmt, unsigned long address); - int lookup_symbol_name(unsigned long addr, char *symname); int lookup_symbol_attrs(unsigned long addr, unsigned long *size, unsigned long *offset, char *modname, char *name); @@ -166,23 +163,8 @@ static inline int kallsyms_show_value(void) return false; } -/* Stupid that this does nothing, but I didn't create this mess. */ -#define __print_symbol(fmt, addr) #endif /*CONFIG_KALLSYMS*/ -/* This macro allows us to keep printk typechecking */ -static __printf(1, 2) -void __check_printsym_format(const char *fmt, ...) -{ -} - -static inline void print_symbol(const char *fmt, unsigned long addr) -{ - __check_printsym_format(fmt, ""); - __print_symbol(fmt, (unsigned long) - __builtin_extract_return_addr((void *)addr)); -} - static inline void print_ip_sym(unsigned long ip) { printk("[<%px>] %pS\n", (void *) ip, (void *) ip); diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 24f456689f9c..a23e21ada81b 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -429,17 +429,6 @@ int sprint_backtrace(char *buffer, unsigned long address) return __sprint_symbol(buffer, address, -1, 1); } -/* Look up a kernel symbol and print it to the kernel messages. */ -void __print_symbol(const char *fmt, unsigned long address) -{ - char buffer[KSYM_SYMBOL_LEN]; - - sprint_symbol(buffer, address); - - printk(fmt, buffer); -} -EXPORT_SYMBOL(__print_symbol); - /* To avoid using get_symbol_offset for every symbol, we carry prefix along. */ struct kallsym_iter { loff_t pos;