[PATCH -v3 0/2] printk.devkmsg: Ratelimit it by default

From: Borislav Petkov
Date: Mon Jul 04 2016 - 10:25:10 EST


From: Borislav Petkov <bp@xxxxxxx>

Hi all,

here's v3 integrating Ingo's comments. The thing is called
printk.devkmsg= or printk_devkmsg now, depending on cmdline option or
sysctl.


Changelog:
----------

v2:

here's v2 with the requested sysctl option kernel.printk_kmsg and
locking of the setting when printk.kmsg= is supplied on the command
line.

Patch 1 is unchanged.

Patch 2 has grown the sysctl addition.

v1:

Rostedt is busy so I took Linus' old patch and Steven's last v2 and
split and extended them with the comments people had on the last thread:

https://lkml.kernel.org/r/20160425145606.598329f2@xxxxxxxxxxxxxxxxxx

I hope, at least.

So it is ratelimiting by default, with "on" and "off" cmdline options. I
called the option somewhat a bit shorter too: "printk.kmsg"

The current use cases of this and of which I'm aware are:

* debug the kernel and thus shut up all interfering input from
userspace, i.e. boot with "printk.kmsg=off"

* debug userspace (and by that I mean systemd) by booting with
"printk.kmsg=on" so that the ratelimiting is disabled and the kernel log
gets all the spew.

Thoughts?

Thanks.

Borislav Petkov (2):
ratelimit: Extend to print suppressed messages on release
printk: Add kernel parameter to control writes to /dev/kmsg

Documentation/kernel-parameters.txt | 6 +++
Documentation/sysctl/kernel.txt | 14 +++++++
include/linux/printk.h | 7 ++++
include/linux/ratelimit.h | 36 +++++++++++++---
kernel/printk/printk.c | 83 +++++++++++++++++++++++++++++++++----
kernel/sysctl.c | 9 ++++
lib/ratelimit.c | 6 ++-
7 files changed, 146 insertions(+), 15 deletions(-)

--
2.7.3