X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fprintk.c;h=b51b1567bb5570dfc5b4a19bffd5af865d254e77;hb=5e0115e500fe9dd2ca11e6f92db9123204f1327a;hp=3f7a2a94583bdd1a2d1af1e14d18eaea16a2c52f;hpb=ac9f80ad16e6e934b6c1f12f82d27889c0f9abcc;p=linux-2.6 diff --git a/kernel/printk.c b/kernel/printk.c index 3f7a2a9458..b51b1567bb 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -1308,29 +1308,18 @@ void tty_write_message(struct tty_struct *tty, char *msg) } #if defined CONFIG_PRINTK + /* * printk rate limiting, lifted from the networking subsystem. * - * This enforces a rate limit: not more than one kernel message - * every printk_ratelimit_jiffies to make a denial-of-service - * attack impossible. + * This enforces a rate limit: not more than 10 kernel messages + * every 5s to make a denial-of-service attack impossible. */ -int __printk_ratelimit(int ratelimit_jiffies, int ratelimit_burst) -{ - return __ratelimit(ratelimit_jiffies, ratelimit_burst); -} -EXPORT_SYMBOL(__printk_ratelimit); - -/* minimum time in jiffies between messages */ -int printk_ratelimit_jiffies = 5 * HZ; - -/* number of messages we send before ratelimiting */ -int printk_ratelimit_burst = 10; +DEFINE_RATELIMIT_STATE(printk_ratelimit_state, 5 * HZ, 10); int printk_ratelimit(void) { - return __printk_ratelimit(printk_ratelimit_jiffies, - printk_ratelimit_burst); + return __ratelimit(&printk_ratelimit_state); } EXPORT_SYMBOL(printk_ratelimit);