Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754494AbbLKJkV (ORCPT ); Fri, 11 Dec 2015 04:40:21 -0500 Received: from ozlabs.org ([103.22.144.67]:36458 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754127AbbLKJkT (ORCPT ); Fri, 11 Dec 2015 04:40:19 -0500 From: Rusty Russell To: Laura Abbott Cc: Laura Abbott , linux-kernel@vger.kernel.org Subject: Re: [RFC][PATCH] module: Limit line length of module prints In-Reply-To: <1449798632-29248-1-git-send-email-labbott@fedoraproject.org> References: <1449798632-29248-1-git-send-email-labbott@fedoraproject.org> User-Agent: Notmuch/0.20.2 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-pc-linux-gnu) Date: Fri, 11 Dec 2015 20:09:40 +1030 Message-ID: <87a8phgw83.fsf@rustcorp.com.au> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1988 Lines: 63 Laura Abbott writes: > print_modules currently uses pr_cont to print all module information. > This has the side effect of printing lots of modules on one very long > line. This makes copy/pasting oopses more effort if manual wrapping is > required. Place a reasonable limit (80 chars) on the number of modules > on each line. > > Signed-off-by: Laura Abbott > --- > Does this bother anyone else or am I the only one who hates dealing > with the long lines of "Modules linked in"? Never bothered me, but I'm a bit odd :) I worry more about the effect on machine parsing. Cheers, Rusty. > --- > kernel/module.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/kernel/module.c b/kernel/module.c > index 8f051a1..ace82f1 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -4059,11 +4059,14 @@ struct module *__module_text_address(unsigned long addr) > } > EXPORT_SYMBOL_GPL(__module_text_address); > > +#define MAX_LINE_CHARS 80 > + > /* Don't grab lock, we're oopsing. */ > void print_modules(void) > { > struct module *mod; > char buf[8]; > + int cnt = 0; > > printk(KERN_DEFAULT "Modules linked in:"); > /* Most callers should already have preempt disabled, but make sure */ > @@ -4071,7 +4074,13 @@ void print_modules(void) > list_for_each_entry_rcu(mod, &modules, list) { > if (mod->state == MODULE_STATE_UNFORMED) > continue; > - pr_cont(" %s%s", mod->name, module_flags(mod, buf)); > + > + if (cnt > MAX_LINE_CHARS) { > + cnt = 0; > + pr_cont("\n"); > + } > + > + cnt += pr_cont(" %s%s", mod->name, module_flags(mod, buf)); > } > preempt_enable(); > if (last_unloaded_module[0]) > -- > 2.5.0 -- 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/