BUG and WARN kernel log levels
From: Kees Cook
Date: Mon Aug 15 2016 - 14:53:31 EST
Hi,
So, I noticed that asm-gemeric/bug.h defines BUG() without a log level:
#ifndef HAVE_ARCH_BUG
#define BUG() do { \
printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \
Seems like it should have one?
Also, I think we might want to examine WARN() a bit... it doesn't have
a log level either, but only a fraction of callers set one:
$ git grep -E 'WARN(_TAINT|)(_RATELIMIT|_ONCE|)\([^\)]' | grep -v KERN_ | wc -l
2735
$ git grep -E 'WARN(_TAINT|)(_RATELIMIT|_ONCE|)\([^\)]' | grep KERN_ | wc -l
77
If I'm reading checkpatch.pl correctly, it doesn't warn about missing
log levels on WARN calls, but I think it should.
How do you think is best to clean this up?
Mainly, I'd like to add a format string to BUG, or introduce a new
BUGish call that takes a format...
-Kees
--
Kees Cook
Nexus Security