|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] xencons missing string allocation
I was trying to boot dom0 w/ "xencons=ttyS1 console=ttyS1". It gives
some weird error messages:
Warning: dev (ttyS2) tty->count(2) != #fd's(1) in release_dev
Warning: dev (ttyS2) tty->count(3) != #fd's(1) in tty_open
And blows up with a page fault. The page fault is because we don't
actually allocate a buffer for the tty driver name. The patch below
fixes that problem. Using xencons=ttyS1 still doesn't quite work and
prints lots of the above error messages, but at least it doesn't crash
dom0 now. Patch vs xen-unstable.hg. Thanks,
Alex
Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
diff -r 53cff3f88e45 linux-2.6-xen-sparse/drivers/xen/console/console.c
--- a/linux-2.6-xen-sparse/drivers/xen/console/console.c Fri Dec 9
11:05:06 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/console/console.c Fri Dec 9
11:12:04 2005
@@ -641,11 +641,23 @@
if (xc_mode == XC_SERIAL)
{
- DRV(xencons_driver)->name = "ttyS";
+ DRV(xencons_driver)->name = kmalloc(strlen("ttyS") + 1,
+ GFP_KERNEL);
+ if (!DRV(xencons_driver)->name) {
+ kfree(xencons_driver);
+ return -ENOMEM;
+ }
+ strcpy(DRV(xencons_driver)->name, "ttyS");
DRV(xencons_driver)->minor_start = 64 + xc_num;
DRV(xencons_driver)->name_base = 0 + xc_num;
} else {
- DRV(xencons_driver)->name = "tty";
+ DRV(xencons_driver)->name = kmalloc(strlen("tty") + 1,
+ GFP_KERNEL);
+ if (!DRV(xencons_driver)->name) {
+ kfree(xencons_driver);
+ return -ENOMEM;
+ }
+ strcpy(DRV(xencons_driver)->name, "tty");
DRV(xencons_driver)->minor_start = xc_num;
DRV(xencons_driver)->name_base = xc_num;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] xencons missing string allocation,
Alex Williamson <=
|
|
|
|
|