Re: [PATCH 1/2] limit print_fatal_signal() rate

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andrea Righi
Date: Monday, May 21, 2007 - 3:44 am

Andrew Morton wrote:

For the mainline a fix could be the following...

---

Limit the rate of the kernel logging for the segfaults of user applications, to
avoid potential message floods or denial-of-service attacks.

Signed-off-by: Andrea Righi <a.righi@cineca.it>

diff -urpN linux-2.6.22-rc2/arch/avr32/mm/fault.c linux-2.6.22-rc2-limit-segfaults-printk-rate/arch/avr32/mm/fault.c
--- linux-2.6.22-rc2/arch/avr32/mm/fault.c	2007-05-19 13:11:30.000000000 +0200
+++ linux-2.6.22-rc2-limit-segfaults-printk-rate/arch/avr32/mm/fault.c	2007-05-21 11:48:37.000000000 +0200
@@ -158,7 +158,7 @@ bad_area:
 	up_read(&mm->mmap_sem);
 
 	if (user_mode(regs)) {
-		if (exception_trace)
+		if (exception_trace && printk_ratelimit())
 			printk("%s%s[%d]: segfault at %08lx pc %08lx "
 			       "sp %08lx ecr %lu\n",
 			       is_init(tsk) ? KERN_EMERG : KERN_INFO,
diff -urpN linux-2.6.22-rc2/arch/x86_64/mm/fault.c linux-2.6.22-rc2-limit-segfaults-printk-rate/arch/x86_64/mm/fault.c
--- linux-2.6.22-rc2/arch/x86_64/mm/fault.c	2007-05-21 11:42:07.000000000 +0200
+++ linux-2.6.22-rc2-limit-segfaults-printk-rate/arch/x86_64/mm/fault.c	2007-05-21 11:45:55.000000000 +0200
@@ -489,7 +489,8 @@ bad_area_nosemaphore:
 		    (address >> 32))
 			return;
 
-		if (exception_trace && unhandled_signal(tsk, SIGSEGV)) {
+		if (exception_trace && unhandled_signal(tsk, SIGSEGV) &&
+		    printk_ratelimit()) {
 			printk(
 		       "%s%s[%d]: segfault at %016lx rip %016lx rsp %016lx error %lx\n",
 					tsk->pid > 1 ? KERN_INFO : KERN_EMERG,
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] log out-of-virtual-memory events, Andrea Righi, (Thu May 17, 9:24 am)
Re: [RFC] log out-of-virtual-memory events, Rik van Riel, (Thu May 17, 11:22 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Jan Engelhardt, (Thu May 17, 11:28 pm)
Re: [RFC] log out-of-virtual-memory events, Andrea Righi, (Fri May 18, 12:50 am)
Re: [RFC] log out-of-virtual-memory events, Robin Holt, (Fri May 18, 2:16 am)
Re: [RFC] log out-of-virtual-memory events, Andrea Righi, (Fri May 18, 8:55 am)
Re: [RFC] log out-of-virtual-memory events, Andrea Righi, (Fri May 18, 9:05 am)
Re: [RFC] log out-of-virtual-memory events, Bernd Eckenfels, (Fri May 18, 9:34 am)
Re: [RFC] log out-of-virtual-memory events, Bernd Eckenfels, (Fri May 18, 9:36 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Jan Engelhardt, (Sat May 19, 12:46 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Sat May 19, 5:14 pm)
Re: [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Sat May 19, 5:15 pm)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Sun May 20, 4:21 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Stephen Hemminger, (Sun May 20, 9:08 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Sun May 20, 9:12 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Sun May 20, 1:55 pm)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Sun May 20, 2:20 pm)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Sun May 20, 2:23 pm)
Re: [PATCH 1/2] limit print_fatal_signal() rate, Andrea Righi, (Mon May 21, 3:44 am)
Re: [PATCH 2/2] log out-of-virtual-memory events, Andrea Righi, (Mon May 21, 3:48 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Mon May 21, 4:04 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Gábor Lénárt, (Mon May 21, 4:26 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Mon May 21, 5:47 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Mon May 21, 11:59 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Wed May 23, 11:45 am)
Re: [PATCH 1/2] limit print_fatal_signal() rate, Andrea Righi, (Thu May 24, 1:50 am)
Re: [PATCH 1/2] limit print_fatal_signal() rate, Ingo Molnar, (Thu May 24, 2:58 am)
Re: signals logged / [RFC] log out-of-virtual-memory events, Folkert van Heusden, (Sun Jun 10, 12:53 pm)