From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932434AbdK0RU7 (ORCPT ); Mon, 27 Nov 2017 12:20:59 -0500 Received: from ale.deltatee.com ([207.54.116.67]:56784 "EHLO ale.deltatee.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932412AbdK0RUz (ORCPT ); Mon, 27 Nov 2017 12:20:55 -0500 To: Joe Perches , Julia Lawall Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Andy Whitcroft References: <20171126054037.9743-1-logang@deltatee.com> <1511676085.20482.18.camel@perches.com> <5c0a2778-8e8f-9fbb-b13f-1d880acb949b@deltatee.com> <1511735382.20482.27.camel@perches.com> <355029d1-48f5-095e-0d99-bb726d2d56e5@deltatee.com> <86f3f594-79f7-c2ce-2cc6-f641bd6f55ae@deltatee.com> <1511771322.32426.1.camel@perches.com> From: Logan Gunthorpe Message-ID: Date: Mon, 27 Nov 2017 10:20:48 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <1511771322.32426.1.camel@perches.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 172.16.1.162 X-SA-Exim-Rcpt-To: apw@canonical.com, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, julia.lawall@lip6.fr, joe@perches.com X-SA-Exim-Mail-From: logang@deltatee.com Subject: Re: [PATCH v2] checkpatch: Add a warning for log messages that don't end in a new line X-SA-Exim-Version: 4.2.1 (built Tue, 02 Aug 2016 21:08:31 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27/11/17 01:28 AM, Joe Perches wrote: > checkpatch already reports printks without KERN_ > > # printk should use KERN_* levels > if ($line =~ /\bprintk\s*\(\s*(?!KERN_[A-Z]+\b)/) { > WARN("PRINTK_WITHOUT_KERN_LEVEL", > "printk() should include KERN_ facility level\n" . $herecurr); > } > Yes, but that kind of misses the mark in a similar way a new line warning misses the mark. Consider: printk("blahblah: "); printk("blah\n"); Check patch will report that both lines are missing a KERN_ level, but actually the second line is meant to be a continuation. So someone fixes it, naively: printk(KERN_INFO, "blahblah: "); printk(KERN_INFO, "blah\n"); Now, checkpatch will not warn on either and it looks like they fixed it, even though it's pretty clear that it's not correct either way. With, my patch, it will report a missing new line on the first line. If someone looked at it, they may realize it's actually missing a KERN_CONT. If we use the space heuristic, in this case, the warning might also suggest it may be missing a _cont. But the huristic isn't great... maybe the author actually meant: printk(KERN_INFO, "blahblah:\n"); printk(KERN_INFO, " blah\n"); But I wouldn't say a warning in this case is a bad thing because it forces someone to look at something that is obviously wrong in some way. Logan