[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#600299: linux-image-2.6.32-5-openvz-amd64: Openvz kernels appear to log unitialised memory to the console with log_buf_len=XX



On Fri, 2010-10-15 at 18:00 +0100, Tim Small wrote:
> Package: linux-2.6
> Version: 2.6.32-23
> Severity: normal
> 
> When passing log_buf_len=2M to the kernel, the kernel logs nulls, or
> other aparently unitialised RAM to the console, and netconsole.

Any increase in log_buf_len will result in disaster, since OpenVZ will
continue using the old buffer pointer with the new length!

Please can you test this patch, following the instructions at
<http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official>.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -198,6 +198,9 @@
 		spin_lock_irqsave(&logbuf_lock, flags);
 		log_buf_len = size;
 		log_buf = new_log_buf;
+#ifdef CONFIG_VE
+		ve0.log_buf = log_buf;
+#endif
 
 		offset = start = min(con_start, log_start);
 		dest_idx = 0;
@@ -354,9 +357,9 @@
 		if (ve_log_buf == NULL)
 			goto out;
 		count = len;
+		spin_lock_irq(&logbuf_lock);
 		if (count > ve_log_buf_len)
 			count = ve_log_buf_len;
-		spin_lock_irq(&logbuf_lock);
 		if (count > ve_logged_chars)
 			count = ve_logged_chars;
 		if (do_clear)

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: