1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<title>The Current TODO list</title>
</head>
<body alink="#FF0000" vlink="#55188A" link="#0000EF" bgcolor="#FFFFFF" text="#000099">
<table border="0">
<tr align="left">
<td valign="top">
<table border="0">
<tr align="left"><td valign="top" >
<img src="http://user-mode-linux.sourceforge.net/uml-small.png" height="171" width="120"/>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/index.html">Site Home Page</a></font>
<br>
<font size="-1"><a href="http://uml.harlowhill.com">The UML Wiki</a></font>
<br>
<font size="-1"><a href="http://usermodelinux.org">UML Community Site</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/roadmap.html">The UML roadmap</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/uses.html">What it's good for</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/case-studies.html">Case Studies</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/kernel.html">Kernel Capabilities</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/dl-sf.html">Downloading it</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/run.html">Running it</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/compile.html">Compiling</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/install.html">Installation</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/skas.html">Skas Mode</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/patches.html">Incremental Patches</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/tests.html">Test Suite</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/devanon.html">Host memory use</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/fs_making.html">Building filesystems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/faq.html">Troubles</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/contrib.html">User Contributions</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/links.html">Related Links</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/todo.html">The ToDo list</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/projects.html">Projects</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/diary.html">Diary</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/thanks.html">Thanks</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/contacts.html">Contacts</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Tutorials<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/UserModeLinux-HOWTO.html">The HOWTO (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/UserModeLinux-HOWTO.txt">The HOWTO (text)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/hostfs.html">Host file access</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/input.html">Device inputs</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/shared_fs.html">Sharing filesystems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/fs.html">Creating filesystems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/resize.html">Resizing filesystems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/networking.html">Virtual Networking</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/mconsole.html">Management Console</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/debugging.html">Kernel Debugging</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/honeypots.html">UML Honeypots</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/gprof.html">gprof and gcov</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/xtut.html">Running X</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/trouble.html">Diagnosing problems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/config.html">Configuration</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slack_readme.html">Installing Slackware</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/arch-port.html">Porting UML</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/iomem.html">IO memory emulation</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/2G-2G.html">UML on 2G/2G hosts</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/lksct/index.html">Adding a UML system call</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/nesting.html">Running nested UMLs</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">How you can help<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/help-gen.html">Overview</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/help-doc.html">Documentation</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/help-userspace.html">Utilities</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/help-kernel-v1.html">Kernel bugs</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/projects.html">Kernel projects</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Screenshots<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/net.html">A virtual network</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/x.html">An X session</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Transcripts<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/login.html">A login session</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/debug-session.html">A debugging session</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slackinst.html">Slackware installation</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Reference<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/switches.html">Kernel switches</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slack_readme.html">Slackware README</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Papers<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/als2000/index.html">ALS 2000 paper (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/als2000.tex">ALS 2000 paper (TeX)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/als2000/slides.html">ALS 2000 slides</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/lca2001/lca.html">LCA 2001 slides</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/ols2001/index.html">OLS 2001 paper (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/ols2001.tex">OLS 2001 paper (TeX)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/als2001/index.html">ALS 2001 paper (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/als2001.tex">ALS 2001 paper (TeX)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/ists2002/umlsec.htm">UML security (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/lca2002/lca2002.htm">LCA 2002 (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/wvu2002/wvu2002.htm">WVU 2002 (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/ists_rt/ists_rt.htm">Security Roundtable (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/ols2002/ols2002.html">OLS 2002 slides</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/lwe2005/LWE2005.html">LWE 2005 slides</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Fun and Games<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/cgi-bin/hangman">Kernel Hangman</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/sdotm.html">Disaster of the Month</a></font>
</td></tr>
</table>
</td>
<td valign="top" align="left">
<center>
<h3>The Current TODO list</h3>
</center>
Since about Feb 2001, I've been maintaining a TODO list and posting it to the
devel list occasionally.
<table width="100%" bgcolor="#e0e0e0">
<tr>
<td>
<b>
<font color="black"> Not done </font>
</b>
</td>
</tr>
</table>
<br>
<b>Packaging</b>
<br>
<blockquote></blockquote>
<br>
<b>Functionality</b>
<br>
<blockquote></blockquote>
<br>
<b>Bugs</b>
<br>
<blockquote>
<p>
My attempts to run the Debian install procedure hung UML while it was
probing disks. I never figured out what was happening.
<p>
Make UML build without warnings
<p>
Make sure that each clock tick gets counted
<p>
Figure out the hostfs crash that Larent Bonnaud is seeing
<p>
make 'gdb=pty' work
<p>
protect kernel memory from userspace
<p>
Figure out why the io_thread loses its parent and its connection to the kernel
<p>
Disable SIGIO on file descriptors which are already being handled.
This will cut off some interrupt recursion.
<p>
Figure out why gdb can't use fd chan (blinky@gmx.net)
<p>
Figure out why repeated 'tail /dev/zero' with swap causes process segfaults
<p>
Set SA_RESTART on SIGPROF
<p>
Replace dentry_name with d_name
<p>
Dynamically allocate all driver descriptors
<p>
Make slip_tramp conditional in slip_close
<p>
many du / causes slab cache corruption
<p>
Adding an eth device via the mconsole (and probably the command line)
won't necessarily configure the device that was named
<p>
Figure out why init/version.c, init/main.c, and arch/um/main.c don't
get coverage data.
<p>
Fix the ubd rounding bug spotted by Steve Schmidtke and Roman Zippel.
<p>
gdb should be the last thing to be shut down so that breakpoints can
be set late in the shutdown process.
<p>
Have the __uml_exitcall handlers check to see if they need to do anything.
<p>
Find the race that causes the kernel to run before the debugger is running,
and which then causes a panic and segfault.
<p>
Tests that need writing
<ul>
<li>
Build and load some modules to check for unexported symbols
</li>
<li>
Swap testing - qsbench, low-memory kernel build
</li>
<li>
Rerun some existing tests through hostfs
</li>
</ul>
<p>
Figure out why gdb inside UML sometimes misses breakpoints.
<p>
^C doesn't work well in a busy loop in __initcall code. I've seen the
process die with a SIGINT as well as have the SIGINT arrive to a
sleeping process, panicing the tracing thread.
<p>
When setting a conditional breakpoint on __free_pages in
free_all_bootmem_core and continuing, UML hangs.
<p>
Figure out what to do with __uml_setup in modules. A lot of these should
end up being normal __setup, since they don't have to happen before the
kernel runs.
<p>
Figure out why UML died nastily after ^C-ing it and hitting it in userspace.
<p>
Telnetting to a console when in.telnetd is non-executable produces an
error and a crash from a sleeping process segfaulting.
<p>
Single-stepping when a signal has arrived doesn't work. gdb
singlesteps, sees the signal, and single-steps with the signal. The
signal is handled immediately, stepping the process into the handler.
The original instruction was never executed, so when gdb puts the
breakpoint back and the handler returns, the breakpoint is hit again.
<p>
The _to_user routines refer to user data without using copy_to_user.
<p>
How to cause a strange userspace segfault - run the new UML inside UML
under gdb. Put a breakpoint on create_elf_tables. 'finish', 'next',
segfault.
<p>
With an old port-helper hanging on to a port, running a UML which want those
ports causes all of the consoles and serial lines to output their login
prompts to stdout.
<p>
Assigning console and serial line devices to files doesn't work cleanly.
<p>
Make sure that irqs are deactivated or freed when their descriptors are
closed.
<p>
Things to audit:
<ul>
<li>
Make sure that destructors exactly undo everything the constructor does
</li>
<li>
Set FD_CLOEXEC on any descriptors that don't need to be passed across execs.
</li>
<li>
Make sure any protocols are 64-bit clean - this means not using ints, longs,
etc. Also, maybe enums are bad.
</li>
</ul>
<p>
port_kern.c has port_remove_dev and port_kern_free which do almost the
same things.
<p>
Make sure that return values are actually used.
<p>
skas4 things - remove the extra two context switches per system call,
make sure it compiles with CONFIG_PROC_MM off, implement the mm
indirector, move PTRACE_LDT to /dev/mm, fix PTRACE_FAULTINFO to return
trap type and err, allow the environment, argument, etc pointers of an
mm to be set.
</blockquote>
<br>
<b>Confirm fix</b>
<br>
<blockquote>
<p>
Get either Myrtal Meep or Matt Clay
to confirm (or not) that they can no longer crash UML with
Apache/Perl/MySQL. This will probably be fixed with the new network drivers.
</blockquote>
<table width="100%" bgcolor="#e0e0e0">
<tr>
<td>
<b>
<font color="black"> Done </font>
</b>
</td>
</tr>
</table>
<br>
<b>Packaging</b>
<br>
<blockquote>
<p>
Put together a UML deb builder
<p>
Figure out how to ship the UML test suite
<p>
Figure out how to make a module tar
file with the right structure
<p>
It currently sucks. What I want is an RPM and a deb for each release
containing:
<ul>
<li>the kernel</li>
<li>HOWTO</li>
<li>user-mode network tools</li>
<li>test harness</li>
<li>test suite</li>
<li>maybe a small root filesystem like the tomsrtbt</li>
<li>modules</li>
<li>mkrootfs</li>
</ul>
Anything else? I also need suggestions for locations for all these things.
</blockquote>
<br>
<b>Functionality</b>
<br>
<blockquote>
<p>
Add a mechanism for rereading module symbols when the module is reloaded.
<p>
Integrate Greg Lonnon's I/O space emulation
<p>
Make the socket channel work
<p>
Figure out what to do
about the network driver. There are duelling drivers from Jim Leu and
Lennert Buytenhek, and I need to figure out how to merge the best bits from
them into a single driver, or split them into two very distinct drivers.
<p>
Extract Patrick Schaaf's cool new block driver from him.
<p>
Remove the tty mode save/restore from main and put it in the file descriptor
channel code. (Boria Feigin)
<p>
Added more stuff to
/proc/cpuinfo (mistral)
<p>
Allow gdb to be attached to a
host device in the same way that consoles and serial lines can
<p>
modify_ldt implemented
(patch from Lennert Buytenhek)
<p>
Add support for root hostfs
<p>
Added --help (patch from
Yves Rougy)
</blockquote>
<br>
<b>Bugs</b>
<br>
<blockquote>
<p>
I occasionally see one of the loggers
dying from a SIGTERM during boot because of a kill that's somehow directed
at the wrong process.
<p>
I need to figure out why some people
see 'Unexpectedly got signal 4 in signals'. This has been reported a
couple of times, but I've never got any information that would help me
debug it.
<p>
Implement copy_{from,to}_user using
setjmp/longjmp.
<p>
Fix gcov and gprof support
<p>
Figure out why the umn device won't serve more than one packet to remote machines.
<p>
Figure out how to make
-D_FILE_OFFSET_BITS=64 work with modules (fix from Lennert which explicitly
uses the *64 interfaces)
<p>
Figure out why ^S and ^Q don't work on the console (patch from Livio)
<p>
Stop the hangs caused by someone disconnecting from a virtual console
<p>
umn needs to destroy the slip device
when it's no longer needed (JS)
<p>
clean up the umn_set_addr logic
<p>
Make sure that readonly hostfs really
is readonly (James McMechan)
<p>
Figure out the wait_for_page hangs
<p>
I used to see syslog occasionally hang,
but haven't in a long time. It happened again, and it turns out I was
enabling signals when they shouldn't be, allowing the timer to interrupt a
sensitive part of do_IRQ.
<p>
gdb doesn't find the kernel if it isn't called 'linux' (Brian J. Murrell)
<p>
Have the ubd driver figure out the
block device size with BLKGETSIZE if necessary (Lennert Buytenhek, marc)
<p>
Make sure it boots in the presence of IO
redirection and piping (JS)
<p>
Rebooting a UML under debug won't kill the old gdb
<p>
Remove assumption that argv is
contiguous (Boria Feigin)
<p>
Have hostfs copy user data with
copy_{to,from}_user.
<p>
Put in Lennert's utsname patch
(Lennert Buytenhek)
<p>
Put in Lennert's ubd LFS patch
(Lennert Buytenhek)
<p>
The kernel shouldn't hang when debug is
requested and it wasn't compiled with CONFIG_PT_PROXY.
<p>
Make empty_zero_page and empty_bad_page
reserved (Rik)
<p>
Increase COMMAND_LINE_SIZE to something
bigger (JS)
<p>
Put breakpoints on panic and stop
<p>
Make hostfs figure out external filenames
by walking up the dentry->parent tree rather than having inodes store them.
<p>
Figure out why hostfs misses files in large
directories
<p>
Make sure init can exec (Al Viro)
<p>
Fix the problems that mistral is
seeing. This is three bugs - the sleep hang, a bug in
sigio_handler (both fixed), plus the sigreturn bug.
<p>
Reimplement process signal delivery to
eliminate the race when the process handler returns
<p>
Various fixes and cleanups in hostfs (Al Viro)
<p>
Remove real_mm from thread and replace
it with some unused pte bits
<p>
Fix /proc/cmdline
(prose from Henrik Nordstrom, code from Greg Lonnon)
<p>
drivers Makefile cleanup
(patch from Greg Lonnon)
<p>
tty_flip_buffer_push fixlet patch
from (Gordon McNutt)
<p>
The ubd device should reset openflags between mounts (jfreak)
<p>
Figure out the sleep hang. It
happens rarely. Somehow, irq_desc[0].flags gets stuck at 5 which tells do_IRQ
that the interrupt is already being handled.
<p>
Stop ^C in gdb from segfaulting processes if it hits in userspace.
<p>
Figure out why swapping causes
process segfaults and nasty mm messages.
<p>
Fix the build so that modules_install
drops modules in the proper hierarchy (fix from Henrik Nordstrom)
<p>
Got rid of hostfs_llseek (patch from
stewart and Henrik Nordstrom)
<p>
gdb now ignores SIGWINCH. (patch
from James Stevenson)
<p>
Fixed ubd stats (patch from James Stevenson)
<p>
UML should run on kernels with
a 2G/2G address space split (blinky) <p>
Fix the segv bug where
a --x page is never fixed because thread.starting_exec is set (mistral) -
mistral hasn't complained about this in ages
<p>
Fix 'cat /proc/kmsg' (Torsten Fink)
<p>
Fix crash if someone types at the console too soon (patch from mistral)
<p>
Change __SMP__ to CONFIG_SMP (Niels Kristian Bech Jensen)
<p>
Include config.h where necessary (Niels Kristian Bech Jensen)
<p>
Fix a couple allocation buglets in hostfs (Henrik Nordstrom)
<p>
Implement internal system calls correctly (Roman Zippel)
<p>
Allow the time to be changed (Frank Klingenhoefer) (patch from Livio Soares)
<p>
The ptrace proxy should handle wait correctly for non-UML subprocesses of gdb
<p>
Figure out why UML flunks the f00f test
<p>
Make the build work when CONFIG_MCONSOLE is
off
<p>
Provide some kind of reasonable error
message when the root filesystem isn't writable.
<p>
Figure out why hostfs panics when it's on an nfs directory on the host
(David Coulson)
<p>
Remove the chdir from the umid setup
<p>
Figure out why the .deb build fails
checksumming - it was because hostfs reads went through the page cache
and writes bypassed it
<p>
Figure out why diffing identical kernel
pools produces diffs - can't reproduce this, so I have to assume that it's
fixed somehow
<p>
Make sure that gdbs get killed properly
<p>
Stop dev_ip_addr from crashing if the
interface has no IP addresses
<p>
Figure out why the Debian ping is slower than the Slackware ping
<p>
set_umid should only set the umid
<p>
COW headers should have absolute pathnames
in them or backing file path names should be possibly relative to the COW
file's directory
<p>
Figure out why some early breakpoints don't
work. I.e. Setting a bp in do_initcalls or bdflush and continuing from
start_kernel misses the bp, but continuing from rest_init hits it.
<p>
Print out a decent error message when mcast setup fails because there
are no multicast devices on the host
<p>
Suppress the error message from uml_net when route fails because
there's no eth0 on the host
<p>
See if it's possible to have uml_net know when an eth device changes
its IP address.
<p>
Figure out why apt-get install ntp crashes UML.
<p>
Version the mconsole and uml_router interfaces
<p>
Fix the error messages when a backing file doesn't exist, and also when the
COW file exists, but is empty.
<p>
Put -fno-common back
<p>
Fix gdb
<p>
Fix daemonized operation
<p>
Implement thread_saved_pc
<p>
Run sysrq stuff in interrupt context
<p>
Make it possible to ^Z and bg UML
<p>
Make core dumping work
<p>
many du / causes process segfaults
<p>
ddd doesn't work with gdb-pid
<p>
Removing a block device with the mconsole doesn't remove its entry in
/proc/partitions
<p>
Removing ethertap or TUN/TAP eth devices produces odd error messages in
UML
<p>
Figure out why running UML under an identical UML hangs the outer one
<p>
Figure out why running a properly built UML under UML doesn't work
<p>
gdbs aren't getting killed properly again
<p>
Setting up a tuntap interface with no gate address will hang UML when
the interface is brought up
<p>
Figure why processes segfault under extreme load, like a 'make -j'
kernel build
<p>
Figure out why leaning on the space bar when top is running causes an FPE.
<p>
Figure out how to let arches ifdef out PTRACE_[SG]ETREGS
<p>
Put UML temporary files (except maybe the mmap files) in the user's
home directory.
<p>
Fix the bogomips calculation.
<p>
Figure out how to implement thread private pages.
<p>
Figure out why ^S and ^Q don't work on the console (phillips)
<p>
When a non-root ubd device is COWed, the bitmap isn't mapped in for some
reason.
<p>
The mconsole driver should support C-A-D if it doesn't already.
<p>
'i reg' to gdb inside UML doesn't print the fp registers
<p>
Improve the formatting when a error message is returned from uml_net,
i.e. when TUN/TAP is requested, but uml_net doesn't support TUN/TAP.
<p>
Get the fp registers in core files correctly.
<p>
gdb should be able to see ^C immediately
<p>
Byte-swap the ubd bitmap (Roman Zippel)
<p>
The register state in the sigcontext passed in to a signal handler should
be copied into the process registers when the handler returns.
<p>
When UML halts, any external debugger needs to be told that it exited so
it doesn't get confused about the child suddenly disappearing.
<p>
setup_stack should use copy_to_user.
<p>
Using strace as an external debugger doesn't work. strace sees no system
calls starting at the delay calibration.
<p>
When a new COW file is created and the backing file doesn't exist, the
error message implies the COW file doesn't exist, plus the COW file is
created with size 0.
<p>
mconsole clients need to pass absolute pathnames into UML.
<p>
Make sure there are no references to errno in kernel code
<p>
Complain when a channel type is requested but not configured in
<p>
Get the tracing thread out of the business of running trampolines
<p>
disable_chan needs to free up all SIGWINCH info so that logging out of
a port console doesn't produce nasty-looking errors.
Also the woody filesystem produces nasty errors when logging in through
telnet.
<p>
close_chan should call free_irq, not free_irq_by_fd
<p>
Running the ists debian fs with devfs=nomount produces a 'Freeing free IRQ'.
<p>
Look at the initrd dependencies. UML doesn't compile when initrd support
is disabled.
<p>
Multiple opens of a pty console cause irq registrations to pile up.
<p>
Sanity-check arguments in the network *setup routines. Ethertap in
particular needs checking. dev->user should remain NULL if there's
an error. Also sanity-checking in uml_net is needed.
<p>
The uml_net entry points should check their argcs.
<p>
Figure out why large pastes into consoles get truncated.
<p>
'next' across a statement which segfaults causes wait_for_stop to get
confused by the segfault.
<p>
Make sure "none" is commutative with the other channel initializations.
<p>
It's still possible for disconnecting from a UML console to put that
device into an infinite poll loop after it's closed.
<p>
Giving the wrong pid to gdb-pid causes a horrible crash.
<p>
In gdb inside UML, putting a breakpoint on a int 0x80 causes the system
call not to happen.
<p>
Breakpoints don't work in the trivial statically linked getpid program.
PTRACE_SINGLESTEP appears not to be working.
<p>
Figure out why, when there are more telnet connections to UML consoles
than there are consoles, when one is freed up, the next telnet connection
only wakes up when something else causes an interrupt.
<p>
Figure out where the occasional 'end!=nsectors' message is coming from.
<p>
Setting up ethertap on 2.2 causes uml_net to spit out an infinite
stream of -EBADF.
<p>
Configuring a device twice with uml_mconsole apparently succeeds and
leaves it unusable.
<p>
Configuring a disk to a non-existant file with uml_mconsole apparently
succeeds and leaves it unusable.
<p>
I built UML inside itself twice on hostfs, with the output going to a
log. The first failed, and when the second ran, the log filled with
garbage.
<p>
The xtime lock should disable interrupts.
</blockquote>
<br>
<b>Confirm fix</b>
<br>
<blockquote>
<p>
Someone needs to try booting UML as a diskless client via bootp and
make sure that it works.
<p>
I have a bug that says that diskless booting doesn't work because it's
impossible to assign an address to a network interface from the
command line. However, I've heard of someone booting diskless
successfully, so this needs to be cleared up.
<p>
I have an old bug that claims that UML can be crashed with a ping
flood. I haven't seen this happen recently, so if anyone else has,
you'd better let me know.
<p>
Larent Bonnaud claimed a while ago that upgrading a Debian filesystem
hung the kernel. I need to know if this is still a problem.
<p>
Get Rik van Riel to confirm that UML no longer loses
characters that he types at the console. Rik says he hasn't seen it
in a while, mistral confirms.
</blockquote>
</td>
</tr>
</table>
<center>
<font size="-1">Hosted at </font>
<a href="http://sourceforge.net">
<img src="http://sourceforge.net/sflogo.php?group_id=429" width="88" height="31" border="0" alt="SourceForge Logo">
</a>
</center>
</body>
</html>
|