lkml.org 
[lkml]   [2003]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] Wanted: a limit on kernel log buffer size
On Sun, 6 Apr 2003 20:35:59 -0700 (PDT) "Randy.Dunlap" <rddunlap@osdl.org> wrote:

| >> Some people (who will mercifully go unnamed) just will _not_
| >> read the documentation, and set the kernel log buffer shift
| >> to 31 on a 256MB machine. This attempt to allocate 2GB of memory for the
| >> buffer results in an unbootable kernel.
| >>
| >> Suggestions?
| >
| > This is a multi-part answer. Say, 5 parts.
| >
| > a. If someone won't read the help text, how can we help them?
| >
| > b. If we make a 2 GB log buffer size a compile-time error, will
| > they read that?
| >
| > c. If we make it a compile-time warning, will they read that?
| >
| > d. What limit(s) do you suggest? I can try to add some limits.
| >
| > e. This kind of config limiting should be done in the config system IMO.
| > I've asked Roman for that capability....


Here's a [modified] patch that limits kernel log buffer size to 1 MB max
and 4 KB min.

To me, ideally the config system would allow limits to be specified,
and then advanced users could edit .config to get around those limits.
By putting limits checking in kernel source files, there is no way
around them other than by editing the source files.

I've made this patch because there are some cases where it shouldn't be
possible to shoot oneself in the foot IMO -- at least not using the
config system...it's OK to do that when editing .config.

--
~Randy


patch_name: logbuf_limits.patch
patch_version: 2003-04-07.15:54:36
author: Randy.Dunlap <rddunlap@osdl.org>
description: enforce kernel log buffer limits (min and max);
product: Linux
product_versions: 2.5.67
changelog: add min and max kernel log buffer limits checking;
URL: http://www.osdl.org/archive/rddunlap/patches/logbuf_limits.patch
diffstat: =
kernel/printk.c | 6 ++++++
1 files changed, 6 insertions(+)


diff -Naur ./kernel/printk.c%LBLIM ./kernel/printk.c
--- ./kernel/printk.c%LBLIM Mon Apr 7 11:12:38 2003
+++ ./kernel/printk.c Mon Apr 7 14:44:16 2003
@@ -34,6 +34,12 @@

#define LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
#define LOG_BUF_MASK (LOG_BUF_LEN-1)
+#if (LOG_BUF_LEN > (1024 * 1024))
+#error CONFIG_LOG_BUF_SHIFT is ridiculously large (more than 20 [1 MB]).
+#endif
+#if (LOG_BUF_LEN < (4 * 1024))
+#error CONFIG_LOG_BUF_SHIFT is ridiculously small (less than 12 [4 KB]).
+#endif

/* printk's without a loglevel use this.. */
#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING */
-
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/
\
 
 \ /
  Last update: 2005-03-22 13:34    [W:0.066 / U:0.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site