)]}'
{
  "log": [
    {
      "commit": "508a92741a105e2e3d466cd727fb73154ebf08de",
      "tree": "4dabe8327cc47c2d26239d227d48fc83944e5ff1",
      "parents": [
        "480eccf9ae1073b87bb4fe118971fbf134a5bc61"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Sep 18 22:46:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "uml: fix irqstack crash\n\nThis patch fixes a crash caused by an interrupt coming in when an IRQ stack\nis being torn down.  When this happens, handle_signal will loop, setting up\nthe IRQ stack again because the tearing down had finished, and handling\nwhatever signals had come in.\n\nHowever, to_irq_stack returns a mask of pending signals to be handled, plus\nbit zero is set if the IRQ stack was already active, and thus shouldn\u0027t be\ntorn down.  This causes a problem because when handle_signal goes around\nthe loop, sig will be zero, and to_irq_stack will duly set bit zero in the\nreturned mask, faking handle_signal into believing that it shouldn\u0027t tear\ndown the IRQ stack and return thread_info pointers back to their original\nvalues.\n\nThis will eventually cause a crash, as the IRQ stack thread_info will\ncontinue pointing to the original task_struct and an interrupt will look\ninto it after it has been freed.\n\nThe fix is to stop passing a signal number into to_irq_stack.  Rather, the\npending signals mask is initialized beforehand with the bit for sig already\nset.  References to sig in to_irq_stack can be replaced with references to\nthe mask.\n\n[akpm@linux-foundation.org: use UL]\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4c4bf9968cb4f0fceb1b8fb54790ccae73caf4e",
      "tree": "fe9892123214821c37a7b615fe52db7f6d46e148",
      "parents": [
        "c43990162fc7f9d2f15a12797fdc6f9c0905f704"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jul 15 23:38:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:38 2007 -0700"
      },
      "message": "uml: Eliminate kernel allocator wrappers\n\nUML had two wrapper procedures for kmalloc, um_kmalloc and um_kmalloc_atomic\nbecause the flag constants weren\u0027t available in userspace code.\nkern_constants.h had made kernel constants available for a long time, so there\nis no need for these wrappers any more.  Rather, userspace code calls kmalloc\ndirectly with the userspace versions of the gfp flags.\n\nkmalloc isn\u0027t a real procedure, so I had to essentially copy the inline\nwrapper around __kmalloc.\n\nvmalloc also had its own wrapper for no good reason.  This is now gone.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c43990162fc7f9d2f15a12797fdc6f9c0905f704",
      "tree": "64f8b776c4807da48971f3c24ca157c5e6ab921f",
      "parents": [
        "42a359e31a0e438b5b978a8f0fecdbd3c86bb033"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jul 15 23:38:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:38 2007 -0700"
      },
      "message": "uml: simplify helper stack handling\n\nrun_helper and run_helper_thread had arguments which were the same in all\ncallers.  run_helper\u0027s stack_out was always NULL and run_helper_thread\u0027s\nstack_order was always 0.  These are now gone, and the constants folded\ninto the code.\n\nAlso fixed leaks of the helper stack in the AIO and SIGIO code.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42a359e31a0e438b5b978a8f0fecdbd3c86bb033",
      "tree": "fc6a6a11e1187e163ba694bf4ab5cf48aa528f34",
      "parents": [
        "d14ad81f800a57d3f21f8e98556c728968883e9a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jul 15 23:38:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:38 2007 -0700"
      },
      "message": "uml: SIGIO support cleanup\n\nCleanup of the SIGWINCH support.\n\nSome code and comment reformatting.\n\nThe stack used for SIGWINCH threads was leaked.  This is now fixed by storing\nit with the pid and other information, and freeing it when the thread is\nkilled.\n\nIf something goes wrong with a WIGWINCH thread, and this is discovered in the\ninterrupt handler, the winch record would leak.  It is now freed, except that\nthe IRQ isn\u0027t freed.  This is hard to do from interrupt context.  This has the\nside-effect that the IRQ system maintains a reference to the freed structure,\nbut that shouldn\u0027t cause a problem since the descriptor is disabled.\n\nregister_winch_irq is now much better about cleaning up after an\ninitialization failure.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d14ad81f800a57d3f21f8e98556c728968883e9a",
      "tree": "cbe17039283dd51654aaa5a9ac4fae9233285d96",
      "parents": [
        "75886f21e3a53a298b097103fd52e83184a89c22"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jul 15 23:38:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:38 2007 -0700"
      },
      "message": "uml: handle errors on opening host side of consoles\n\nIf the host side of a console can\u0027t be opened, this will now produce visible\nerror messages.\n\nenable_chan now returns a status and this is passed up to con_open and\nssl_open, which will complain if anything went wrong.\n\nThe default host device for the serial line driver is now a pts device rather\nthan a pty device since lots of hosts have LEGACY_PTYS disabled.  This had\nalways been failing on such hosts, but silently.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63920f4717924206c3fa23d42645d4f8965de4cd",
      "tree": "b288c2f7fde1b647b166d2bfc07ca950310fc501",
      "parents": [
        "89df6bfc04059716de2eb2fe529f05b3e124fafd"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jul 15 23:38:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:38 2007 -0700"
      },
      "message": "uml: xterm driver tidying\n\nMajor tidying of the xterm console driver:\n\tgot rid of the tt-mode gdb support\n\ttidied up the includes\n\tfixed lots of style violations\n\treplaced os_* calls with glibc calls in xterm.c\n\tall printk calls now have a severity indicator\n\tthe error paths of xterm_open are closer to being right\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c539ab73070b381f0452dae791f891ec2515098e",
      "tree": "68e4e706fe31b88b26bd4b29eadb32440148eb3e",
      "parents": [
        "f5a9c77df45b113d21b64cbc2bf6c72a0da48998"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Jun 16 10:16:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "uml: remove PAGE_SIZE from libc code\n\nDistros seem to be removing PAGE_SIZE from asm/page.h.  So, the libc side of\nUML should stop using it.\n\nI replace it with UM_KERN_PAGE_SIZE, which is defined to be the same as\nPAGE_SIZE on the kernel side of the house.  I could also use getpagesize(),\nbut it\u0027s more important that UML have the same value of PAGE_SIZE everywhere.\nIt\u0027s conceivable that it could be built with a larger PAGE_SIZE, and use of\ngetpagesize() would break that badly.\n\nPAGE_MASK got the same treatment, as it is closely tied to PAGE_SIZE.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecec5ba681a0bf1165899f8b1889f06fcd8e901a",
      "tree": "bacc286b05900e6a3f8dfc96386efc5dc85d660d",
      "parents": [
        "327b9eebbf2b7ce632e93a9c1386d944af0dadf4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue May 15 20:36:00 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 18:56:37 2007 -0700"
      },
      "message": "fix uml-x86_64\n\n__NR_syscall_max is done in x86_64 asm-offsets; do an equivalent in\numl kern_constants.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c14b84949e127560084c7c56b365931c71c60768",
      "tree": "88bce4993779078856612b6a32f65f14ab379d85",
      "parents": [
        "2ea5bc5e5bb51492f189bba44045e0de7decf4a0"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu May 10 22:22:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "uml: iRQ stacks\n\nAdd a separate IRQ stack.  This differs from i386 in having the entire\ninterrupt run on a separate stack rather than starting on the normal kernel\nstack and switching over once some preparation has been done.  The underlying\nmechanism, is of course, sigaltstack.\n\nAnother difference is that interrupts that happen in userspace are handled on\nthe normal kernel stack.  These cause a wait wakeup instead of a signal\ndelivery so there is no point in trying to switch stacks for these.  There\u0027s\nno other stuff on the stack, so there is no extra stack consumption.\n\nThis quirk makes it possible to have the entire interrupt run on a separate\nstack - process preemption (and calls to schedule()) happens on a normal\nkernel stack.  If we enable CONFIG_PREEMPT, this will need to be rethought.\n\nThe IRQ stack for CPU 0 is declared in the same way as the initial kernel\nstack.  IRQ stacks for other CPUs will be allocated dynamically.\n\nAn extra field was added to the thread_info structure.  When the active\nthread_info is copied to the IRQ stack, the real_thread field points back to\nthe original stack.  This makes it easy to tell where to copy the thread_info\nstruct back to when the interrupt is finished.  It also serves as a marker of\na nested interrupt.  It is NULL for the first interrupt on the stack, and\nnon-NULL for any nested interrupts.\n\nCare is taken to behave correctly if a second interrupt comes in when the\nthread_info structure is being set up or taken down.  I could just disable\ninterrupts here, but I don\u0027t feel like giving up any of the performance gained\nby not flipping signals on and off.\n\nIf an interrupt comes in during these critical periods, the handler can\u0027t run\nbecause it has no idea what shape the stack is in.  So, it sets a bit for its\nsignal in a global mask and returns.  The outer handler will deal with this\nsignal itself.\n\nAtomicity is had with xchg.  A nested interrupt that needs to bail out will\nxchg its signal mask into pending_mask and repeat in case yet another\ninterrupt hit at the same time, until the mask stabilizes.\n\nThe outermost interrupt will set up the thread_info and xchg a zero into\npending_mask when it is done.  At this point, nested interrupts will look at\n-\u003ereal_thread and see that no setup needs to be done.  They can just continue\nnormally.\n\nSimilar care needs to be taken when exiting the outer handler.  If another\ninterrupt comes in while it is copying the thread_info, it will drop a bit\ninto pending_mask.  The outer handler will check this and if it is non-zero,\nwill loop, set up the stack again, and handle the interrupt.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57598fd7b31f6437874308a79ca23e51c74da59b",
      "tree": "b81df1f04864611d23dbaae11343f3827f6e4aa7",
      "parents": [
        "22258d406f91d7f7ee8e58f18b3722d0647f6a9a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu May 10 22:22:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:33 2007 -0700"
      },
      "message": "uml: remove task_protections\n\nReplaced task_protections with stack_protections since they do the same\nthing, and task_protections was misnamed anyway.\n\nThis needs THREAD_SIZE, so that\u0027s imported via common-offsets.h\n\nAlso tidied up the code in the vicinity.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5886269962f94fa9185c32db3ec936c612503235",
      "tree": "2f24dabcf5791319ebb1fbdfb5dbc58284714275",
      "parents": [
        "01afd80626e98c2347bc25be92ee4a3faf314514"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@informatik.uni-freiburg.de",
        "time": "Wed May 09 07:51:49 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:58:16 2007 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@informatik.uni-freiburg.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "c2f239d93e8af991392871c57465cb2ac556b482",
      "tree": "50a4ea12771fa995f51977160e62e0696fcad9e3",
      "parents": [
        "b7ec15bd004f4524bf091f851348da2ccb519e4f"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun May 06 14:51:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:04 2007 -0700"
      },
      "message": "uml: fix prototypes\n\nDeclare strlcpy and strlcat more correctly.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16dd07bc6404c8da0bdfeb7a5cde4e4a63991c00",
      "tree": "de8401aeebfe1bbdaecaff3b81d92196c50c85d7",
      "parents": [
        "3ec704e6660aa58505110a50102e57cdb9daa044"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:04 2007 -0700"
      },
      "message": "uml: more page fault path trimming\n\nMore trimming of the page fault path.\n\nPermissions are passed around in a single int rather than one bit per\nint.  The permission values are copied from libc so that they can be\npassed to mmap and mprotect without any further conversion.\n\nThe register sets used by do_syscall_stub and copy_context_skas0 are\ninitialized once, at boot time, rather than once per call.\n\nwait_stub_done checks whether it is getting the signals it expects by\ncomparing the wait status to a mask containing bits for the signals of\ninterest rather than comparing individually to the signal numbers.  It\nalso has one check for a wait failure instead of two.  The caller is\nexpected to do the initial continue of the stub.  This gets rid of an\nargument and some logic.  The fname argument is gone, as that can be\nhad from a stack trace.\n\nuser_signal() is collapsed into userspace() as it is basically one or\ntwo lines of code afterwards.\n\nThe physical memory remapping stuff is gone, as it is unused.\n\nflush_tlb_page is inlined.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64f60841c096594b8073e408cd9b40d7d08dcfdd",
      "tree": "3ad05b0b5f83d174eb2a7efdfd95d09f171aa51d",
      "parents": [
        "8603ec81487a5fefbc29611ff0d635b33b6da990"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:04 2007 -0700"
      },
      "message": "uml: speed page fault path\n\nGive the page fault code a specialized path.  There is only one page to look\nat, so there\u0027s no point in going into the general page table walking code.\nThere\u0027s only going to be one host operation, so there are no opportunities for\nmerging.  So, we go straight to the pte we want, figure out what needs doing,\nand do it.\n\nWhile I was in here, I fixed the wart where the address passed to unmap was a\nvoid *, but an unsigned long to map and protect.\n\nThis gives me just under 10% on a kernel build.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6ea4cceed18edebe1eb6001cb9e0f88cd741a6c",
      "tree": "4a747a92c9bd7a8703004603ee9e91f8bfb7e95a",
      "parents": [
        "a263672424e591067e42e1d8371e56927fe73af8"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:03 2007 -0700"
      },
      "message": "uml: rename os_{read_write}_file_k back to os_{read_write}_file\n\nRename os_{read_write}_file_k back to os_{read_write}_file, delete\nthe originals and their bogus infrastructure, and fix all the callers.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63843c265fd0e0c7894f713e0db5777560e756ae",
      "tree": "020eb5c523857f2485fd1ca4968245f7264a4cba",
      "parents": [
        "990c55871b655156ffd7787af791be977d946ef6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:03 2007 -0700"
      },
      "message": "uml: dump core on panic\n\nDump core after a panic.  This will provide better debugging information than\nis currently available.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d564047a5f45cb628ec72514f68076e532988f3",
      "tree": "3a4247baed8e66bfe5d159f058a88c1a5b7e7ed1",
      "parents": [
        "f9d6e5f83b40d8ff73a74d4bba2c5f51d6048b12"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:03 2007 -0700"
      },
      "message": "uml: start fixing os_read_file and os_write_file\n\nThis patch starts the removal of a very old, very broken piece of code.  This\nstems from the problem of passing a userspace buffer into read() or write() on\nthe host.  If that buffer had not yet been faulted in, read and write will\nreturn -EFAULT.\n\nTo avoid this problem, the solution was to fault the buffer in before the\nsystem call by touching the pages that hold the buffer by doing a copy-user of\na byte to each page.  This is obviously bogus, but it does usually work, in tt\nmode, since the kernel and process are in the same address space and userspace\naddresses can be accessed directly in the kernel.\n\nIn skas mode, where the kernel and process are in separate address spaces, it\nis completely bogus because the userspace address, which is invalid in the\nkernel, is passed into the system call instead of the corresponding physical\naddress, which would be valid.  Here, it appears that this code, on every host\nread() or write(), tries to fault in a random process page.  This doesn\u0027t seem\nto cause any correctness problems, but there is a performance impact.  This\npatch, and the ones following, result in a 10-15% performance gain on a kernel\nbuild.\n\nThis code can\u0027t be immediately tossed out because when it is, you can\u0027t log\nin.  Apparently, there is some code in the console driver which depends on\nthis somehow.\n\nHowever, we can start removing it by switching the code which does I/O using\nkernel addresses to using plain read() and write().  This patch introduces\nos_read_file_k and os_write_file_k for use with kernel buffers and converts\nall call locations which use obvious kernel buffers to use them.  These\ninclude I/O using buffers which are local variables which are on the stack or\nkmalloc-ed.  Later patches will handle the less obvious cases, followed by a\nmass conversion back to the original interface.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "377fad3acbb7e94ab9942a74e0d9ede8eeb2f039",
      "tree": "0bf8046bb1fa6ccb51df76b56819dee6b6d7487b",
      "parents": [
        "5d86456d3852cb95a38d2b23fe01cede54984ba5"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:02 2007 -0700"
      },
      "message": "uml: kernel segfaults should dump proper registers\n\nIf there\u0027s a segfault inside the kernel, we want a dump of the registers at\nthe point of the segfault, not the registers at the point of calling panic or\nthe last userspace registers.\n\nsig_handler_common_skas now uses a static register set in the case of a\nSIGSEGV to avoid messing up the process registers if the segfault turns out to\nbe non-fatal.\n\nThe architecture sigcontext-to-pt_regs copying code was repurposed to copy\ndata out of the SEGV stack frame.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d86456d3852cb95a38d2b23fe01cede54984ba5",
      "tree": "a0e973d629717d93c7b4dc32ad7afd9e64f5f974",
      "parents": [
        "ccdddb57874522e6b267204f9c5e94ba7d9d66b0"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:02 2007 -0700"
      },
      "message": "uml: tidy fault code\n\nTidying in preparation for the segfault register dumping patch which follows.\n\nvoid * pointers are changed to union uml_pt_regs *.  This makes the types\nmatch reality, except in arch_fixup, which is changed to operate on a union\numl_pt_regs.  This fixes a bug in the call from segv_handler, which passes a\nunion uml_pt_regs, to segv, which expects to pass a struct sigcontext to\narch_fixup.\n\nWhitespace and other style fixes.\n\nThere\u0027s also a errno printk fix.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ffb9164f51094b7105ce9f81600b222ddf5b82c",
      "tree": "b2efe2af99a2827692a7541058eaef9e938f1da6",
      "parents": [
        "6e21aec3fcf6c8862b755d45c0af45acdefff976"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:02 2007 -0700"
      },
      "message": "uml: remove page_size()\n\nuserspace code used to have to call the kernelspace function page_size() in\norder to determine the value of the kernel\u0027s PAGE_SIZE.  Since this is now\navailable directly from kern_constants.h as UM_KERN_PAGE_SIZE, page_size() can\nbe deleted and calls changed to use the constant.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e21aec3fcf6c8862b755d45c0af45acdefff976",
      "tree": "1e2bcf6ae8ac4a6e62766cb1cddf073410d4ea5c",
      "parents": [
        "65a58ab044308ae65ca06c50fb10be5e0e080989"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:02 2007 -0700"
      },
      "message": "uml: tidy process.c\n\nClean up arch/um/kernel/process.c:\n\n- lots of return(x); -\u003e return x; conversions\n\n- a number of the small functions are either unused, in which case they are\n  gone, along any declarations in a header, or could be made static.\n\n- current_pid is ifdefed on CONFIG_MODE_TT and its declaration is ifdefed on\n  both CONFIG_MODE_TT and UML_CONFIG_MODE_TT because we don\u0027t know whether\n  it\u0027s being used in a userspace or kernel file.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c74c69b442364125fd13259ecaa4cd2ee43b9172",
      "tree": "431e362c3402bd0f554aac1730d0264da71c0807",
      "parents": [
        "8c8408358f19a386298744829bf67b90c129ff18"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun May 06 14:51:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:02 2007 -0700"
      },
      "message": "uml: Replace one-element array with zero-element array\n\nTo look at users I did:\n$ find arch/um/ include/asm-um -name \u0027*.[ch]\u0027|xargs grep -r \u0027net_kern\\.h\u0027\n+-l|xargs grep \u0027\\\u003cuser\\\u003e\u0027\n\nMost users just cast user to the appropriate pointer, the remaining ones are\nfixed here.  In net_kern.c, I\u0027m almost sure that save trick is not needed\nanymore, but I\u0027ve not verified it.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9218b1714949095bff9d9739d80f431d58e561d6",
      "tree": "a107cbf6e36b7910461ab8c018687b36e9d22e3a",
      "parents": [
        "24fa6c0832f4513ac897082d7d803970a40cc1b0"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:01 2007 -0700"
      },
      "message": "uml: remove user_util.h\n\nuser_util.h isn\u0027t needed any more, so delete it and remove all includes of it.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24fa6c0832f4513ac897082d7d803970a40cc1b0",
      "tree": "261c0b7612f74b703ce88efb7dd22548779e1399",
      "parents": [
        "4ff83ce1114827f707b7f1f4f2e5f69de9df94ac"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:01 2007 -0700"
      },
      "message": "uml: move remaining useful contents of user_util.h\n\nRescue the useful contents of the soon-to-be-gone user-util.h.\n\npty.c now gets ptsname from stdlib.h like it should have always done.\n\nCATCH_EINTR is now in os.h, although perhaps all usage should be under\nos-Linux at some point.\n\nget_pty is also in os.h.\n\nThis patch restores the old definition of ARRAY_SIZE in user.h.  This file is\nincluded only in userspace files, so there will be no conflict with the\nkernel\u0027s new ARRAY_SIZE.  The copy of the kernel\u0027s ARRAY_SIZE and associated\ninfrastructure is now gone.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ff83ce1114827f707b7f1f4f2e5f69de9df94ac",
      "tree": "c810839d94475729bd235fe1b39c03298b667fb4",
      "parents": [
        "eb8307595baa729a12db0fec9a80910b13bd6fc8"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:01 2007 -0700"
      },
      "message": "uml: create as-layout.h\n\nThis patch moves all the the symbols defined in um_arch.c, which are mostly\nboundaries between different parts of the UML kernel address space, to a new\nheader, as-layout.h.  There are also a few things here which aren\u0027t really\nrelated to address space layout, but which don\u0027t really have a better place to\ngo.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb8307595baa729a12db0fec9a80910b13bd6fc8",
      "tree": "8fe64a44999871932f0c1671026747840f701b2b",
      "parents": [
        "c65badbdf5dc117e45873e760f807063ad59a854"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:01 2007 -0700"
      },
      "message": "uml: create arch.h\n\nThis patch moves the declarations of the architecture hooks from user_util.h\nto a new header, arch.c, and adds the necessary includes to files which need\nthose declarations.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c65badbdf5dc117e45873e760f807063ad59a854",
      "tree": "a83dd52066e3efef9b70c35bec8fccdf9db3d457",
      "parents": [
        "c5e631cf65f4d6875efcd571275436f2964a8b48"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:01 2007 -0700"
      },
      "message": "uml: move SIGIO testing to sigio.c\n\nThis patch narrows the sigio interface.  The boot-time SIGIO testing used to\nbe in start_up.c, which meant that pty_output_sigio and pty_close_sigio needed\nto be global.  By moving that code here, those can become static and the\ndeclarations moved from user_util.h.\n\nos_check_bugs is also here because it only does the SIGIO checking.  If it\ndoes more, it\u0027ll probably move back to start_up.c.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5e631cf65f4d6875efcd571275436f2964a8b48",
      "tree": "1aee9d61560ee369b4a2f077a79e37ab868a4b2d",
      "parents": [
        "f34d9d2dcb7f17b64124841345b23adc0843e7a5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun May 06 14:51:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "ARRAY_SIZE: check for type\n\nWe can use a gcc extension to ensure that ARRAY_SIZE() is handed an array,\nnot a pointer.  This is especially important when code is changed from a\nfixed array to a pointer.  I assume the Intel compiler doesn\u0027t support\n__builtin_types_compatible_p.\n\n[jdike@addtoit.com: uml: update UML definition of ARRAY_SIZE]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f34d9d2dcb7f17b64124841345b23adc0843e7a5",
      "tree": "0bb200273bcc37da8dd32945ae25c213c9efe2c2",
      "parents": [
        "b16895b63c504698b0c3ab26ca3c41a4fa162a42"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "uml: network interface hotplug error handling\n\nThis fixes a number of problems associated with network interface hotplug.\n\nThe userspace initialization function can fail in some cases, but the\nfailure was never passed back to eth_configure, which proceeded with the\nconfiguration.  This results in a zombie device that is present, but can\u0027t\nwork.  This is fixed by allowing the initialization routines to return an\nerror, which is checked, and the configuration aborted on failure.\n\neth_configure failed to check for many failures.  Even when it did check,\nit didn\u0027t undo whatever initializations has already happened, so a present,\nbut partially initialized and non-working device could result.  It now\nchecks everything that can fail, and bails out, undoing whatever had been\ndone.\n\nThe return value of eth_configure was always ignored, so it is now just\nvoid.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4ffb6ad8d8477b561377ca150bbbfc0db02da54",
      "tree": "1f10ef5f1b2afc3ea4e991f473f5e5bfe497f608",
      "parents": [
        "a5ed1ffa6c2480cdcf3f0aa945f0b8622fe4e90b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:50:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "uml: host_info tidying\n\nMove the host_info string from util.c to um_arch.c, where it is\nactually initialized and used.  Also document its lack of locking.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11100b1dfb6e9444d54d38e822753f59ee42a7e6",
      "tree": "59350b393a013cbf6e240ba7985f01694aa83796",
      "parents": [
        "7a3e965abfbdd5abacd29b9a67af91aa31b5f9d3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:50:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "uml: delete unused code\n\nGet rid of a bunch of unused stuff -\n\tcpu_feature had no users\n\tlinux_prog is little-used, so its declaration is moved to the\nuser for easy deletion when the whole file goes away\n\ta long-unused debugging aid in helper.c is gone\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "622e696938c6a9c5357d2ec4a07ed2f27d56925a",
      "tree": "6ec16e38f83381d44ce4ec9391228a65e88ea7eb",
      "parents": [
        "af84eab208916acad91f6342bbd57bc865caf150"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Mar 29 01:20:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 29 08:22:25 2007 -0700"
      },
      "message": "[PATCH] uml: fix compilation problems\n\nFix a few miscellaneous compilation problems -\n\tan assignment with mismatched types in ldt.c\n\ta missing include in mconsole.h which needs a definition of uml_pt_regs\n\tI missed removing an include of user_util.h in hostfs\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b92c4f922b2e8c70f8790d42e45bb9401c57be63",
      "tree": "d7c1723382aa8eb983f216209c35a247d1bbc602",
      "parents": [
        "7632fc8f809a97f9d82ce125e8e3e579390ce2e5"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Mar 26 21:32:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:15 2007 -0700"
      },
      "message": "[PATCH] uml: use correct register file size everywhere\n\nThis patch uses MAX_REG_NR consistently to refer to the register file size.\n FRAME_SIZE isn\u0027t sufficient because on x86_64, it is smaller than the\nptrace register file size.  MAX_REG_NR was introduced as a consistent way\nto get the number of registers, but wasn\u0027t used everywhere it should be.\n\nWhen this causes a problem, it makes PTRACE_SETREGS fail on x86_64 because\nof a corrupted segment register value in the known-good register file.  The\npatch also adds a register dump at that point in case there are any future\nproblems here.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ff1d36cf4b8b7dc4efbc83ac617a63020b1125d",
      "tree": "6fe3e468aec31dd226178bac77afd52562ae9296",
      "parents": [
        "83f4e8afc9a22eabb1c4cb771ffcb3af81734082"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Mar 07 20:41:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 08 07:38:21 2007 -0800"
      },
      "message": "[PATCH] um: remove dead code about os_usr1_signal() and os_usr1_process()\n\nos_usr1_signal() is totally unused, os_usr1_process() is used only by TT mode.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a3a06d0e158fc82a6bf13e18439285c7791d2b8",
      "tree": "0418ae2c23ee398e3926fe2f5ed3290aba883fff",
      "parents": [
        "d3e9cceafd9c886561f602bcdcb03efd96e187ab"
      ],
      "author": {
        "name": "Alon Bar-Lev",
        "email": "alon.barlev@gmail.com",
        "time": "Mon Feb 12 00:54:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:39 2007 -0800"
      },
      "message": "[PATCH] Dynamic kernel command-line: fixups\n\nRemove in-source externs, linux/init.h is included in all cases.\nThis is a fixups for \"Dynamic kernel command-line\" patch.\n\nIt also includes some uml __init fixups so that we can __initdata also its\ncommand_line.\n\nSigned-off-by: Alon Bar-Lev \u003calon.barlev@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19bf7e7a414711dec0058556feda778105798f99",
      "tree": "6b3bed6c16e14c8c0ef80ce7a299a5c0a78fe151",
      "parents": [
        "383464c0fb067f5beb96e28ff376d2280808dd54"
      ],
      "author": {
        "name": "Alon Bar-Lev",
        "email": "alon.barlev@gmail.com",
        "time": "Mon Feb 12 00:54:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:39 2007 -0800"
      },
      "message": "[PATCH] Dynamic kernel command-line: um\n\n1. Rename saved_command_line into boot_command_line.\n2. Set command_line as __initdata.\n\nSigned-off-by: Alon Bar-Lev \u003calon.barlev@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f355559cf78455ed6be103b020e4b800230c64eb",
      "tree": "0de116766d38975f75178e299031d55967eaa9d7",
      "parents": [
        "3a150e1da8bc4e840d5a09fc089052011b5b6503"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] uml: x86_64 thread fixes\n\nx86_64 needs some TLS fixes.  What was missing was remembering the child\nthread id during clone and stuffing it into the child during each context\nswitch.\n\nThe %fs value is stored separately in the thread structure since the host\ncontrols what effect it has on the actual register file.  The host also needs\nto store it in its own thread struct, so we need the value kept outside the\nregister file.\n\narch_prctl_skas was fixed to call PTRACE_ARCH_PRCTL appropriately.  There is\nsome saving and restoring of registers in the ARCH_SET_* cases so that the\ncorrect set of registers are changed on the host and restored to the process\nwhen it runs again.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de5fe76e436d9e98f8af8005ff23a2e6066aea10",
      "tree": "f4d5672caab38f21f19bc18ac348387b363a9ec1",
      "parents": [
        "4cffb7fa69349d48d900d98766dc9ad52d9c851e"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] uml: umid tidying\n\nAdd an error message when two umids are put on the command line.\n\numid.h is kind of pointless since it only declares one thing, and that\nis already declared in os.h.\n\nCommented the lack of locking of some data in os-Linux/umid.h.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cffb7fa69349d48d900d98766dc9ad52d9c851e",
      "tree": "99c079d4a4f8fde74acb55ac252e492db80f92ec",
      "parents": [
        "d9f9d31983aac7764d178583d0777199d081cb1a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:23 2007 -0800"
      },
      "message": "[PATCH] uml: SIGIO formatting fixes\n\nFix formatting in the sigio code.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73c8f4441f07dd3b9d198ec0e97ce83138a6224c",
      "tree": "88af71fd8d091cab9c8f05994202221f9f42e2d4",
      "parents": [
        "9eae9b132cd2cebf98cc45550049d421302b9aba"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:23 2007 -0800"
      },
      "message": "[PATCH] uml: libc-dependent code should call libc directly\n\nWe shouldn\u0027t be using the os wrappers from os code - we can use libc directly.\nThis patch replaces wrapper calls with libc calls.\n\nIt turns out that os_sigio_async had only one caller, which was in startup.c,\nso that function is moved there and its name changed.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bf79482f3288e19697d08c456b0bd6b1755d467",
      "tree": "ad7c1f9a18e5738175d2d8daeb65e099b6a50b02",
      "parents": [
        "b8831a1d2c78c03b8193ab3acf56664fa3457265"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:18 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:23 2007 -0800"
      },
      "message": "[PATCH] uml: locking comments in memory and tempfile code\n\nLocking comments and emacs comment removal in the low-level memory and\ntemp file code.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27aa6ef3c0e8220b27b0a8d2d0bae7cd0a6d2f78",
      "tree": "322d8ee8ad1de886c33c1fda0bdd1c9cbab8a82a",
      "parents": [
        "6d1b18b16fc917e5c9af568a53c7e37923821d70"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:22 2007 -0800"
      },
      "message": "[PATCH] uml: make signal handlers static\n\nA bunch of the signal handlers can be made static.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d1b18b16fc917e5c9af568a53c7e37923821d70",
      "tree": "8873443d80e6e6d7167417ffe5432d952311839f",
      "parents": [
        "b42e1eacc1f245581a2f7580ec1082ff4d6c65cd"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:22 2007 -0800"
      },
      "message": "[PATCH] uml: remove unused variable and function\n\nsyscall_index and next_syscall_index turn out not to be used.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6256c68248cfccbeec07ced442ffe395fa393e8",
      "tree": "24acdd2d3875680de114e8d50d50835b2705315b",
      "parents": [
        "d5c9ffc6c6d15d4f655236e26942a21ad61fe3ad"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:22 2007 -0800"
      },
      "message": "[PATCH] uml: fix previous console locking\n\nEliminate the open_mutex after complaints from Blaisorblade.  It turns out\nthat the tty count provides the information needed to tell whether we are the\nfirst opener or last closer.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5c9ffc6c6d15d4f655236e26942a21ad61fe3ad",
      "tree": "0fda7f4a171461ab95bb424f158949d53f223920",
      "parents": [
        "b4ac91a0eac36f347a509afda07e4305e931de61"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:22 2007 -0800"
      },
      "message": "[PATCH] uml: console locking commentary and code cleanup\n\nRemove the last vestiges of devfs from console registration.  Change the name\nof the function, plus remove a couple of unused fields from the line_driver\nstructure.\n\nstruct lines is no longer needed, all traces of it are gone.\n\nThe only way that I can see to mark a structure as being almost-const is to\nindividually const the fields.  This is the case for the line_driver\nstructure, which has only one modifiable field - a list_head in a\nsub-structure.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4ac91a0eac36f347a509afda07e4305e931de61",
      "tree": "18a50a3b83fa9da12b493ac9d5da039c3d2521f8",
      "parents": [
        "a52f362f864f56238c9036f5c56f763a80e2ddd5"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:22 2007 -0800"
      },
      "message": "[PATCH] uml: chan_user.h formatting fixes\n\nWhitespace fixes and emacs comment removal.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a52f362f864f56238c9036f5c56f763a80e2ddd5",
      "tree": "f9288fdfb8988a0ec31f052e89b3dfca1a632e4d",
      "parents": [
        "99b0278f95fc9d55adf65133dc678167a88b632a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:22 2007 -0800"
      },
      "message": "[PATCH] uml: mostly const a structure\n\nThe chan_opts structure is mostly const, and needs no locking.  Comment the\nlack of locking on the one field that can change.\n\nMake all the other fields const.  It turned out that console_open_chan didn\u0027t\nuse its chan_opts argument, so that is deleted from the function and its\ncallers.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ea21cd9173a0ffa75dc74cc46d08dfc45654f29",
      "tree": "904783bcd2a274005049c211bce2bd022275fe86",
      "parents": [
        "d3b7f69de2b92e4b6057d81e6c52f629a8663368"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:43:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:21 2007 -0800"
      },
      "message": "[PATCH] uml: network driver whitespace and style fixes\n\nSome whitespace and coding style cleanups in the network driver code.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3b7f69de2b92e4b6057d81e6c52f629a8663368",
      "tree": "ad2ba9ef0cf024b3341b5eaf67929ee82b71701b",
      "parents": [
        "190c3e456325942a17785332fe15b68eeb3775ca"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:43:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:21 2007 -0800"
      },
      "message": "[PATCH] uml: add locking to network transport registration\n\nThe registration of host network transports needed some locking.  The\ntransport list itself is locked, but calls to the registration routines are\nnot.  This is compensated for by checking that a transport structure is not\nyet on any list.\n\nI also took the opportunity to const all fields in the transport structure\nexcept the list, which obviously can be modified.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "894be2a485b75bce9a4d45d3e431aafd4c89f1ea",
      "tree": "073dbadf143ef4bd034555036def355075fef521",
      "parents": [
        "f28169d2000177e8b72ccc6d72887be779dceca8"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:43:54 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:21 2007 -0800"
      },
      "message": "[PATCH] uml: console whitespace and comment tidying\n\nSome comment and whitespace cleanups in the console and mconsole code.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f28169d2000177e8b72ccc6d72887be779dceca8",
      "tree": "0ef842014c67d8a136cc26c99113b69e2ede87ea",
      "parents": [
        "d79a580936396bbcd2f4fae2c6215f9cf81e3c0d"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:43:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:21 2007 -0800"
      },
      "message": "[PATCH] uml: return hotplug errors to host\n\nI noticed that errors happening while hotplugging devices from the host were\nnever returned back to the mconsole client.  In some cases, success was\nreturned instead of even an information-free error.\n\nThis patch cleans that up by having the low-level configuration code pass back\nan error string along with an error code.  At the top level, which knows\nwhether it is early boot time or responding to an mconsole request, the string\nis printk\u0027d or returned to the mconsole client.\n\nThere are also whitespace and trivial code cleanups in the surrounding code.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d79a580936396bbcd2f4fae2c6215f9cf81e3c0d",
      "tree": "72c91c7475e2562c5459c4d6d0499cdd671e0b50",
      "parents": [
        "5cf885d01f30be710a339976c485f92bb8a8946d"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:43:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:21 2007 -0800"
      },
      "message": "[PATCH] uml: console locking fixes\n\nClean up the console driver locking.  There are various problems here,\nincluding sleeping under a spinlock and spinlock recursion, some of which are\nfixed here.  This patch deals with the locking involved with opens and closes.\n The problem is that an mconsole request to change a console\u0027s configuration\ncan race with an open.  Changing a configuration should only be done when a\nconsole isn\u0027t opened.  Also, an open must be looking at a stable\nconfiguration.  In addition, a get configuration request must observe the same\nlocking since it must also see a stable configuration.  With the old locking,\nit was possible for this to hang indefinitely in some cases because open would\nblock for a long time waiting for a connection from the host while holding the\nlock needed by the mconsole request.\n\nAs explained in the long comment, this is fixed by adding a spinlock for the\nuse count and configuration and a mutex for the actual open and close.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eff3b634d9a0cccb6ca8b431819fa415f10804dc",
      "tree": "8bf2dac62ce9c4e4aa62ea5a66831ed65ef35137",
      "parents": [
        "ffd22b8e08fb86692d316cdcc1a4da4d10a016c5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 13 00:33:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:47 2006 -0800"
      },
      "message": "[PATCH] uml: fix net_kern workqueue abuse\n\nFix up the work on stack and exit scope trouble by placing the work_struct\nin the uml_net_private data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "606d099cdd1080bbb50ea50dc52d98252f8f10a1",
      "tree": "80d17450a5fb78effce3f4312f672c058658e004",
      "parents": [
        "edc6afc5496875a640bef0913604be7550c1795d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Dec 08 02:38:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:57 2006 -0800"
      },
      "message": "[PATCH] tty: switch to ktermios\n\nThis is the grungy swap all the occurrences in the right places patch that\ngoes with the updates.  At this point we have the same functionality as\nbefore (except that sgttyb() returns speeds not zero) and are ready to\nbegin turning new stuff on providing nobody reports lots of bugs\n\nIf you are a tty driver author converting an out of tree driver the only\nimpact should be termios-\u003ektermios name changes for the speed/property\nsetting functions from your upper layers.\n\nIf you are implementing your own TCGETS function before then your driver\nwas broken already and its about to get a whole lot more painful for you so\nplease fix it 8)\n\nAlso fill in c_ispeed/ospeed on init for most devices, although the current\ncode will do this for you anyway but I\u0027d like eventually to lose that extra\nparanoia\n\n[akpm@osdl.org: bluetooth fix]\n[mp3@de.ibm.com: sclp fix]\n[mp3@de.ibm.com: warning fix for tty3270]\n[hugh@veritas.com: fix tty_ioctl powerpc build]\n[jdike@addtoit.com: uml: fix -\u003eset_termios declaration]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nAcked-by: Peter Oberparleiter \u003coberpar@de.ibm.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e46962fdd28f8b30b465e507b657627aa4c1a409",
      "tree": "db301f83855aa16e2abd9b3297cd906f6fa19223",
      "parents": [
        "7b65fee21c6bff68711b48e0aa1cfd42b3198312"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Dec 06 20:34:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:29 2006 -0800"
      },
      "message": "[PATCH] uml: size register files correctly\n\nWe were using the wrong symbol to size register files.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b65fee21c6bff68711b48e0aa1cfd42b3198312",
      "tree": "eaec0d13ceaa9fa98ece1c29659bffc66d0fd808",
      "parents": [
        "54f9a398e18a49e302e2187fa694043250391d80"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Dec 06 20:34:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:29 2006 -0800"
      },
      "message": "[PATCH] uml: include asm/page.h in order to get PAGE_SHIFT\n\nInclude the proper header to get a definition of PAGE_SHIFT.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a2ce774096110ccc5c02cbdc05897d005fcd3db8",
      "tree": "6a6a5830a7e4e789afbfc8258e70e7889af5e7ea",
      "parents": [
        "822191a2fa1584a29c3224ab328507adcaeac1ab"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Dec 06 20:31:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:20 2006 -0800"
      },
      "message": "[PATCH] uml: workqueue build fix\n\n  arch/um/drivers/chan_kern.c:643: error: conflicting types for \u0027chan_interrupt\u0027\n  arch/um/include/chan_kern.h:31: error: previous declaration of \u0027chan_interrupt\u0027\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "abf419b809bed2333267e4b23dd2b3b4f10da88c",
      "tree": "69f47b8df85bac6cc2d158035932c9eee5a30625",
      "parents": [
        "c459dd90f0de00db1ca1328482214019f6ca292f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:19:22 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:12 2006 -0800"
      },
      "message": "[NET]: UML checksum annotations and cleanups.\n\n* sanitize prototypes, annotate\n* kill csum_partial_copy_fromuser\n* kill shift-by-16 in checksum calculations\n* ntohs-\u003eshift in checksum calculations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d48545e5e88ab7a27ba6a5cb1e8fff617754b61",
      "tree": "2da1a8d8e1ca4088cd91cc080f424b3e25e9423f",
      "parents": [
        "9dce447a542d8b4bedf13d6a4c4fc6737240372e"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Nov 25 11:09:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Nov 25 13:28:34 2006 -0800"
      },
      "message": "[PATCH] uml: make execvp safe for our usage\n\nReimplement execvp for our purposes - after we call fork() it is fundamentally\nunsafe to use the kernel allocator - current is not valid there.  So we simply\npass to our modified execvp() a preallocated buffer.  This fixes a real bug\nand works very well in testing (I\u0027ve seen indirectly warning messages from the\nforked thread - they went on the pipe connected to its stdout and where read\nas a number by UML, when calling read_output().  I verified the obtained\nnumber corresponded to \"BUG:\").\n\nThe added use of __cant_sleep() is not a new bug since __cant_sleep() is\nalready used in the same function - passing an atomicity parameter would be\nbetter but it would require huge change, stating that this function must not\nbe called in atomic context and can sleep is a better idea (will make sure of\nthis gradually).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53b173327d283b9bdbfb0c3b6de6f0eb197819d6",
      "tree": "0b41508295ec6a7a826ec36f72f77433da460e57",
      "parents": [
        "d2c89a4284ea4ecfba77c6f2d7d6f96d52e801e5"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Nov 02 22:07:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:58 2006 -0800"
      },
      "message": "[PATCH] uml: fix I/O hang\n\nFix a UML hang in which everything would just stop until some I/O happened\n- a ping, someone whacking the keyboard - at which point everything would\nstart up again as though nothing had happened.\n\nThe cause was gcc reordering some code which absolutely needed to be\nexecuted in the order in the source.  When unblock_signals switches signals\nfrom off to on, it needs to see if any interrupts had happened in the\ncritical section.  The interrupt handlers check signals_enabled - if it is\nzero, then the handler adds a bit to the \"pending\" bitmask and returns.\nunblock_signals checks this mask to see if any signals need to be\ndelivered.\n\nThe crucial part is this:\n\tsignals_enabled \u003d 1;\n\tsave_pending \u003d pending;\n\tif(save_pending \u003d\u003d 0)\n\t\treturn;\n\tpending \u003d 0;\n\nIn order to avoid an interrupt arriving between reading pending and setting\nit to zero, in which case, the record of the interrupt would be erased,\nsignals are enabled.\n\nWhat happened was that gcc reordered this so that \u0027save_pending \u003d pending\u0027\ncame before \u0027signals_enabled \u003d 1\u0027, creating a one-instruction window within\nwhich an interrupt could arrive, set its bit in pending, and have it be\nimmediately erased.\n\nWhen the I/O workload is purely disk-based, the loss of a block device\ninterrupt stops the entire I/O system because the next block request will\nwait for the current one to finish.  Thus the system hangs until something\nelse causes some I/O to arrive, such as a network packet or console input.\n\nThe fix to this particular problem is a memory barrier between enabling\nsignals and reading the pending signal mask.  An xchg would also probably\nwork.\n\nLooking over this code for similar problems led me to do a few more\nthings:\n\n- make signals_enabled and pending volatile so that they don\u0027t get cached\n  in registers\n\n- add an mb() to the return paths of block_signals and unblock_signals so\n  that the modification of signals_enabled doesn\u0027t get shuffled into the\n  caller in the event that these are inlined in the future.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8d7c28ec0b50ac57ddc909ae6eca1519473f300",
      "tree": "dd5c142fb98ed51c521a46fc95a04ee8cf7b7fe1",
      "parents": [
        "0bf16bffeef65622603af22151156807323d7dc7"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Mon Oct 30 22:07:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:00 2006 -0800"
      },
      "message": "[PATCH] uml ubd driver: various little changes\n\nFix a small memory leak in ubd_config, and clearify the confusion which lead\nto it.\n\nThen, some little changes not affecting operations -\n* move init functions together,\n* add a comment about a potential problem in case of some evolution in the block layer,\n* mark all initcalls as static __init functions\n* mark an used once little function as inline\n* document that mconsole methods are all called in process context (was\n  triggered when checking ubd mconsole methods).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a51237dc11efe283b40ea0248f4e26ab935dbd1",
      "tree": "d27f5f2cbaea27119914186650739f281f796e77",
      "parents": [
        "6c50444723f2e6487b3377450f90d813a88e6c31"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Oct 24 11:15:29 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 24 22:01:10 2006 -0700"
      },
      "message": "[PATCH] uml: mconsole fixes\n\n * when we have stop/sysrq/go, we get pt_regs of whatever executes\n   mc_work_proc().  Would be better to see what we had at the time of\n   interrupt that got us stop.\n\n * stop/stop/stop.....  will give stack overflow.  Shouldn\u0027t allow stop\n   from mconsole_stop().\n\n * stop/stop/go leaves us inside mconsole_stop() with\n\tos_set_fd_block(req-\u003eoriginating_fd, 0);\n\treactivate_fd(req-\u003eoriginating_fd, MCONSOLE_IRQ);\n   just done by nested mconsole_stop().  Ditto.\n\n * once we\u0027d seen stop, there\u0027s a period when INTR commands are executed\n   out of order (as they should; we might have the things stuck badly\n   enough to never reach mconsole_stop(), but still not badly enough to\n   block mconsole_interrupt(); in that situation we _want_ things like\n   \"cad\" to be executed immediately).  Once we enter monsole_stop(), all\n   INTR commands will be executed in order, mixed with PROC ones.  We\u0027d\n   better let user see that such change of behaviour has happened.\n   (Suggested by lennert).\n\n * stack footprint of monsole_interrupt() is an atrocity; AFAICS we can\n   safely make struct mc_request req; static in function there.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c13e569073b89eb75216a2551e89ae93ad1f9951",
      "tree": "92605b201e764e5d43d9c7ed2f1c452e52ca3b7a",
      "parents": [
        "02a5323d8060d7259277e9e2936fd02129dc0984"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Oct 19 23:28:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:36 2006 -0700"
      },
      "message": "[PATCH] uml: split memory allocation prototypes out of user.h\n\nuser.h is too generic a header name.  I\u0027ve split out allocation routines from\nit.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "51018b0a3160d253283173c2f54f16746cee5852",
      "tree": "a5ac94f8ff6cfd8d7c0b6eb6a9de812dab56b156",
      "parents": [
        "80c5606c3b45e0176c32d3108ade1e1cb0b954f3"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sun Oct 15 15:03:48 2006 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 15 14:18:39 2006 -0700"
      },
      "message": "[PATCH] make UML compile (FC6/x86-64)\n\nI need this patch to get a UML kernel to compile.  This is with the\nkernel headers in FC6 which are automatically generated from the kernel\ntree.  Some headers are missing but those files don\u0027t need them.  At\nleast it appears so since the resuling kernel works fine.\n\nTested on x86-64.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d27ecef7c63064c1f2eadf413e694e65a34f1f79",
      "tree": "dcd7baf37664a24e7631df3f22fb44d744c7ff09",
      "parents": [
        "2465b8580a5649ee789f213d39c1b49d84fefe8f"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Oct 11 01:21:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:20 2006 -0700"
      },
      "message": "[PATCH] uml: asm offsets duplication removal\n\nUnify macros common to x86 and x86_64 kernel-offsets.h files.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2465b8580a5649ee789f213d39c1b49d84fefe8f",
      "tree": "2238f768c1f250babf5d8875080ac34cbe70ad8d",
      "parents": [
        "711553efa5b8581365084cacf3585a36ca253bab"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Oct 11 01:21:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:20 2006 -0700"
      },
      "message": "[PATCH] uml: allow using again x86/x86_64 crypto code\n\nEnable compilation of x86_64 crypto code;, and add the needed constant to make\nthe code compile again (that macro was added to i386 asm-offsets between\n2.6.17 and 2.6.18, in 6c2bb98bc33ae33c7a33a133a4cd5a06395fece5).\n\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b5cdb5797d364a112879e49cc708083853ffc592",
      "tree": "fa87aa6b3a0511ffe7f7c76f52e3e0d037833bb0",
      "parents": [
        "d875f9fd3f2369bf6f4d0e9989f00fe610eac470"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Oct 11 01:21:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:20 2006 -0700"
      },
      "message": "[PATCH] uml: make UML_SETJMP always safe\n\nIf enable is moved by GCC in a register its value may not be preserved after\ncoming back there with longjmp().  So, mark it as volatile to prevent this;\nthis is suggested (it seems) in info gcc, when it talks about -Wuninitialized.\n I re-read this and it seems to say something different, but I still believe\nthis may be needed.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e27e80b3da7ad6b90185bd689879888907104a40",
      "tree": "112c6621f3b2db0737737efc3ca8ad22ce3875ac",
      "parents": [
        "21c935e5298a3bc4f16cdff7ce3b1efab92b995e"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Oct 11 01:21:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:20 2006 -0700"
      },
      "message": "[PATCH] uml: readd forgot prototype\n\nThis was forgot in a previous patch so UML does not compile with TT mode\nenabled.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "40220c1a192f51695f806d75b1f9970f0f17a6e8",
      "tree": "86623a8c361420c22c6511b20770057fd9c9881d",
      "parents": [
        "58ba81dba77eab43633ea47d82e96245ae3ff666"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Oct 09 12:19:47 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Oct 09 12:19:47 2006 +0100"
      },
      "message": "IRQ: Use the new typedef for interrupt handler function pointers\n\nUse the new typedef for interrupt handler function pointers rather than\nactually spelling out the full thing each time.  This was scripted with the\nfollowing small shell script:\n\n#!/bin/sh\negrep -nHrl -e \u0027irqreturn_t[ \t]*[(][*]\u0027 $* |\nwhile read i\ndo\n    echo $i\n    perl -pi -e \u0027s/irqreturn_t\\s*[(]\\s*[*]\\s*([_a-zA-Z0-9]*)\\s*[)]\\s*[(]\\s*int\\s*,\\s*void\\s*[*]\\s*[)]/irq_handler_t \\1/g\u0027 $i || exit $?\ndone\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "7bea96fd22a8fd19f90817405b4abe032317a0e3",
      "tree": "518bbc228f61f8ff393e4f9a57eeaab8aa2ea2df",
      "parents": [
        "e24bb60e11e3fe9858b71874a4ac59333adbc4fc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Oct 08 22:49:34 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 08 16:34:08 2006 -0700"
      },
      "message": "[PATCH] uml pt_regs fixes\n\nReal fix for UML pt_regs stuff.  Note set_irq_regs() logics in there...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "038b0a6d8d32db934bba6a24e74e76e4e327a94f",
      "tree": "5fbeb3e8f140e20f8ce0e33e12b32ec5b0724cd6",
      "parents": [
        "78b656b8bf933101b42409b4492734b23427bfc3"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Oct 04 03:38:54 2006 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Oct 04 03:38:54 2006 -0400"
      },
      "message": "Remove all inclusions of \u003clinux/config.h\u003e\nkbuild explicitly includes this at build time.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "4b3f686d4aa8ad815dc68a4e8fabd05b1ebb9f2c",
      "tree": "c3386987a2e419eb8e5877a63459f4c11e2654b4",
      "parents": [
        "bf6ee0ae494596aaf311e8430684db85d1d2f25c"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "laplam@rpi.edu",
        "time": "Tue Oct 03 22:21:02 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 22:21:02 2006 +0200"
      },
      "message": "Attack of \"the the\"s in arch\n\nThe patch below corrects multiple occurances of \"the the\"\ntypos across several files, both in source comments and KConfig files.\nThere is no actual code changed, only text.  Note this only affects the /arch\ndirectory, and I believe I could find many more elsewhere. :)\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "b68e31d0ebbcc909d1941f9f230c9d062a3a13d3",
      "tree": "b32902e5de02081cbb9eca49d7bb0b444e2b4f23",
      "parents": [
        "ed97bd37efd8ff7398d3a7eedf4bcbf245f5dad3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Oct 02 02:17:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:14 2006 -0700"
      },
      "message": "[PATCH] const struct tty_operations\n\nAs part of an SMP cleanliness pass over UML, I consted a bunch of\nstructures in order to not have to document their locking.  One of these\nstructures was a struct tty_operations.  In order to const it in UML\nwithout introducing compiler complaints, the declaration of\ntty_set_operations needs to be changed, and then all of its callers need to\nbe fixed.\n\nThis patch declares all struct tty_operations in the tree as const.  In all\ncases, they are static and used only as input to tty_set_operations.  As an\nextra check, I ran an i386 allyesconfig build which produced no extra\nwarnings.\n\n53 drivers are affected.  I checked the history of a bunch of them, and in\nmost cases, there have been only a handful of maintenance changes in the\nlast six months.  serial_core.c was the busiest one that I looked at.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fade5d5461b0379b27ca96faf560d855d7a0ea8b",
      "tree": "e12b7753db8c4dcb7f5fd187062eb5e055526228",
      "parents": [
        "3b89af765cd62c1c3ca6c81adca45084f8840e06"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Sep 29 01:58:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:04 2006 -0700"
      },
      "message": "[PATCH] uml: don\u0027t roll my own random MAC generator\n\nUse the existing random_ether_addr() instead of cooking up my own\nversion.  Pointed out by Dave Hollis and Jason Lunz.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b10aeeef554eb1ff80e10111829f6e7484877811",
      "tree": "efe33871539700cb6f530ed38b755b405b3f3b08",
      "parents": [
        "f3e7ed2b617824f79d1223f37430ccffae59e5b8"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Sep 29 01:58:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:04 2006 -0700"
      },
      "message": "[PATCH] uml: mechanical tidying after random MACs change\n\nMechanical, hopefully non-functional changes stemming from\nsetup_etheraddr always succeeding now that it always assigns a MAC,\neither from the command line or generated randomly:\n   the test of the return of setup_etheraddr is removed, and code\ndependent on it succeeding is now unconditional\n   setup_etheraddr can now be made void\n   struct uml_net.have_mac is now always 1, so tests of it can be\nsimilarly removed, and uses of it can be replaced with 1\n   struct uml_net.have_mac is no longer used, so it can be removed\n   struct uml_net_private.have_mac is copied from struct uml_net, so\nit is always 1\n   tests of uml_net_private.have_mac can be removed\n   uml_net_private.have_mac can now be removed\n   the only call to dev_ip_addr was removed, so it can be deleted\n\nIt also turns out that setup_etheraddr is called only once, from the same\nfile, so it can be static and its declaration removed from net_kern.h.\n\nSimilarly, set_ether_mac is defined and called only from one file.\n\nFinally, setup_etheraddr and set_ether_mac were moved to avoid needing forward\ndeclarations.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f3e7ed2b617824f79d1223f37430ccffae59e5b8",
      "tree": "629961c5ea7aa34675c8a6760e88e3957099f0af",
      "parents": [
        "3b08606dc2991bcdab14139efd9ed9d492f5f901"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Sep 29 01:58:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:04 2006 -0700"
      },
      "message": "[PATCH] uml: assign random MACs to interfaces if necessary\n\nAssign a random MAC to an ethernet interface if one was not provided on the\ncommand line.  This became pressing when distros started bringing interfaces\nup before assigning IPs to them.  The previous pattern of assigning an IP then\nbringing it up allowed the MAC to be generated from the first IP assigned.\nHowever, once the thing is up, it\u0027s probably a bad idea to change the MAC, so\nthe MAC stayed initialized to fe:fd:0:0:0:0.\n\nNow, if there is no MAC from the command line, one is generated.  We use the\nmicroseconds from gettimeofday (20 bits), plus the low 12 bits of the pid to\nseed the random number generator.  random() is called twice, with 16 bits of\neach result used.  I didn\u0027t want to have to try to fill in 32 bits optimally\ngiven an arbitrary RAND_MAX, so I just assume that it is greater than 65536\nand use 16 bits of each random() return.\n\nThere is also a bit of reformatting and whitespace cleanup here.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c9173509985b957bea692ea887a8a0e5055cfe8",
      "tree": "9406fb650d6085f992b6d2a0a3fd8763b045cc35",
      "parents": [
        "0915ee38c7db57ff41a7a68bcc02d0dd3b7b849b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Sep 27 01:50:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:16 2006 -0700"
      },
      "message": "[PATCH] uml: thread creation tidying\n\nfork on UML has always somewhat subtle.  The underlying cause has been the\nneed to initialize a stack for the new process.  The only portable way to\ninitialize a new stack is to set it as the alternate signal stack and take a\nsignal.  The signal handler does whatever initialization is needed and jumps\nback to the original stack, where the fork processing is finished.  The basic\ncontext switching mechanism is a jmp_buf for each process.  You switch to a\nnew process by longjmping to its jmp_buf.\n\nNow that UML has its own implementation of setjmp and longjmp, and I can poke\naround inside a jmp_buf without fear that libc will change the structure, a\nmuch simpler mechanism is possible.  The jmpbuf can simply be initialized by\nhand.\n\nThis eliminates -\n\tthe need to set up and remove the alternate signal stack\n\tsending and handling a signal\n\tthe signal blocking needed around the stack switching, since\nthere is no stack switching\n\tsetting up the jmp_buf needed to jump back to the original\nstack after the new one is set up\n\nIn addition, since jmp_buf is now defined by UML, and not by libc, it can be\nembedded in the thread struct.  This makes it unnecessary to have it exist on\nthe stack, where it used to be.  It also simplifies interfaces, since the\nswitch jmp_buf used to be a void * inside the thread struct, and functions\nwhich took it as an argument needed to define a jmp_buf variable and assign it\nfrom the void *.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0915ee38c7db57ff41a7a68bcc02d0dd3b7b849b",
      "tree": "63b608e830c06fa9eeb102e5fd71d0feb84c4d50",
      "parents": [
        "e3ccf6e3699c879973b616fe681ecaa363457d41"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Sep 27 01:50:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:16 2006 -0700"
      },
      "message": "[PATCH] uml: mark some tt-mode code\n\nMark a symbol and file as being tt-mode only.  This shrinks the binary\nslightly when tt mode support is compiled out and makes it easier to identity\nstuff when tt mode is removed.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8b4fc4d7c3ccf80d4fa1805cee85c06c2aa653e",
      "tree": "55cc6eed8fccc96d5a50b2e947cc85f8caba7242",
      "parents": [
        "0715501bf1d915002d92e34e8a78ea889e5a0049"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Sep 27 01:50:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:16 2006 -0700"
      },
      "message": "[PATCH] uml: fix missing x86_64 register definitions\n\nThe UML/x86_64 headers were missing ptrace support for some segment registers.\n The underlying problem was that the x86_64 kernel uses user_regs_struct\nrather than the ptrace register definitions in ptrace.  This patch switches\nUML/x86_64 to using user_regs_struct for its definitions of the host\u0027s\nregisters.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e7672ec3f059f764fcc5c78216e24bb16c44dba",
      "tree": "ea0e36468e19fbc3c9ff79d6378b5d8e7eef8ea3",
      "parents": [
        "48af05ed54ddf8dc6eceea4f009e063d7e784b37"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Sep 27 01:50:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:15 2006 -0700"
      },
      "message": "[PATCH] uml: const more data\n\nMake lots of structures const in order to make it obvious that they need no\nlocking.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "75e29b18d9a46bf3193278e92dc95609a8cca2ab",
      "tree": "413935160ac2f65c13ec5260a60cdd1d9259fd83",
      "parents": [
        "bf61f50d63b4d9e30d7a86a2d44bb300ae7c1dd4"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:09 2006 -0700"
      },
      "message": "[PATCH] uml: stack usage reduction\n\nThe KSTK_* macros used an inordinate amount of stack.  In order to overcome\nan impedance mismatch between their interface, which just returns a single\nregister value, and the interface of get_thread_regs, which took a full\npt_regs, the implementation created an on-stack pt_regs, filled it in, and\nreturned one field.  do_task_stat calls KSTK_* twice, resulting in two\nlocal pt_regs, blowing out the stack.\n\nThis patch changes the interface (and name) of get_thread_regs to just\nreturn a single register from a jmp_buf.\n\nThe include of archsetjmp.h\" in registers.h to get the definition of\njmp_buf exposed a bogus include of \u003csetjmp.h\u003e in start_up.c.  \u003csetjmp.h\u003e\nshouldn\u0027t be used anywhere any more since UML uses the klibc\nsetjmp/longjmp.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bf61f50d63b4d9e30d7a86a2d44bb300ae7c1dd4",
      "tree": "0dff810d2cecf8ab8175ca3af8d81cef100d7f84",
      "parents": [
        "602cc2418177a5b80f533f569e5a42c4495988c9"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Mon Sep 25 23:33:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:09 2006 -0700"
      },
      "message": "[PATCH] uml: clean our set_ether_mac\n\nClean set_ether_mac usage.  Maybe could also be removed, but surely it can\u0027t\nbe a global function taking a void* argument.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "602cc2418177a5b80f533f569e5a42c4495988c9",
      "tree": "a2b218e7850cbb2622de9dd20b3ea4f9895bd74f",
      "parents": [
        "537ae946e808d0f22d660f7a3500832fe0c07d14"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:08 2006 -0700"
      },
      "message": "[PATCH] uml: Remove unused variable\n\ntimer_irq_inited was useless, so it is removed.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "537ae946e808d0f22d660f7a3500832fe0c07d14",
      "tree": "843f9adaa3c7de8b10c51d0059e2b567d81ff566",
      "parents": [
        "4b84c69b5f6c08a540e3683f1360a6cdef2806c7"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:08 2006 -0700"
      },
      "message": "[PATCH] uml: timer cleanups\n\nset_interval returns an error instead of panicing if setitimer fails.  Some of\nits callers now check the return.\n\nenable_timer is largely tt-mode-specific, so it is marked as such, and the\nonly skas-mode caller is made to call set-interval instead.\n\nuser_time_init was a no-value-added wrapper around set_interval, so it is\ngone.\n\nSince set_interval is now called from kernel code, callers no longer pass\nITIMER_* to it.  Instead, they pass a flag which is converted into ITIMER_REAL\nor ITIMER_VIRTUAL.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b84c69b5f6c08a540e3683f1360a6cdef2806c7",
      "tree": "708f1e4cbc2771886aaeb8eadb3ae4d458bc8133",
      "parents": [
        "19bdf0409f25a85a45874a5a8da6f3e4edcf4a49"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:07 2006 -0700"
      },
      "message": "[PATCH] uml: Move signal handlers to arch code\n\nHave most signals go through an arch-provided handler which recovers the\nsigcontext and then calls a generic handler.  This replaces the\nARCH_GET_SIGCONTEXT macro, which was somewhat fragile.  On x86_64, recovering\n%rdx (which holds the sigcontext pointer) must be the first thing that\nhappens.  sig_handler duly invokes that first, but there is no guarantee that\nI can see that instructions won\u0027t be reordered such that %rdx is used before\nthat.  Having the arch provide the handler seems much more robust.\n\nSome signals in some parts of UML require their own handlers - these places\ndon\u0027t call set_handler any more.  They call sigaction or signal themselves.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "19bdf0409f25a85a45874a5a8da6f3e4edcf4a49",
      "tree": "82abcba44b8026b3dab0e6d26bdf3109bc6bb0cf",
      "parents": [
        "6edf428ed177e333863a8e5c37751a9ec176f241"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:07 2006 -0700"
      },
      "message": "[PATCH] uml: SIGIO cleanups\n\n- Various cleanups in the sigio code.\n\n- Removed explicit zero-initializations of a few structures.\n\n- Improved some error messages.\n\n- An API change - there was an asymmetry between reactivate_fd calling\n  maybe_sigio_broken, which goes through all the machinery of figuring out if\n  a file descriptor supports SIGIO and applying the workaround to it if not,\n  and deactivate_fd, which just turns off the descriptor.\n\n  This is changed so that only activate_fd calls maybe_sigio_broken, when\n  the descriptor is first seen.  reactivate_fd now calls add_sigio_fd, which\n  is symmetric with ignore_sigio_fd.\n\n  This removes a recursion which makes a critical section look more critical\n  than it really was, obsoleting a big comment to that effect.  This requires\n  keeping track of all descriptors which are getting the SIGIO treatment, not\n  just the ones being polled at any given moment, so that reactivate_fd,\n  through add_sigio_fd, doesn\u0027t try to tell the SIGIO thread about descriptors\n  it doesn\u0027t care about.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "13c06be399902c9ebda08e092edb1614bb4a3761",
      "tree": "c67134cfb7efd23ab7017fde32657fa3a7e58154",
      "parents": [
        "c5c6ba4e08ab9c9e390a0f3a7d9a5c332f5cc6ef"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:32:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:05 2006 -0700"
      },
      "message": "[PATCH] uml: Use klibc setjmp/longjmp\n\nThis patch adds an implementation of setjmp and longjmp to UML, allowing\naccess to the inside of a jmpbuf without needing the access macros formerly\nprovided by libc.\n\nThe implementation is stolen from klibc.  I copy the relevant files into\narch/um.  I have another patch which avoids the copying, but requires klibc be\nin the tree.\n\nsetjmp and longjmp users required some tweaking.  Includes of \u003csetjmp.h\u003e were\nremoved and includes of the UML longjmp.h were added where necessary.  There\nare also replacements of siglongjmp with UML_LONGJMP which I somehow missed\nearlier.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "329c6e4257d6a89990d72617d91437e2ce59e426",
      "tree": "852cebffb7a48868c77d7857cda0c65dbf85de80",
      "parents": [
        "b076bb02ee2c489da36c89e35c640bfe45c7d27e"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Jul 14 00:24:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:52 2006 -0700"
      },
      "message": "[PATCH] uml: header formatting cleanups\n\nClean up whitespace and return syntax in os.h.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a5df0d1a2c0f7dbd135d978d02daf2d99e62ff7a",
      "tree": "89824d59364a431d332ce68d548068db4616e68c",
      "parents": [
        "8477b55ba11a49515b26573a90414b718179c908"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Jul 14 00:24:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:52 2006 -0700"
      },
      "message": "[PATCH] uml: tidy longjmp macro\n\nThe UML_SETJMP macro was requiring its users to pass in a argument which it\ncould supply itself, since it wasn\u0027t used outside that invocation of the\nmacro.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "29ac1c2142346e1e0e072f41df31688fc42ff540",
      "tree": "e859dc5361070c1ea360aaf3c55af976ad5211e1",
      "parents": [
        "61232f2fe44f7ac12d7512d099a8f10923eff7ea"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:24 2006 -0700"
      },
      "message": "[PATCH] uml: make some symbols static\n\nA few sigio-related things can be made static.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8e64d96aeb495709c13307e2d79f3ee37e96aa4e",
      "tree": "41532136fdd081d561343be876d3068464821910",
      "parents": [
        "bfaafd7184f044c63cd937cb0ffb4334b4ec7635"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:24 2006 -0700"
      },
      "message": "[PATCH] uml: remove os_isatty\n\nos_isatty can be made to disappear by moving maybe_sigio_broken from kernel to\nuser code.  This also lets write_sigio_workaround become static.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfaafd7184f044c63cd937cb0ffb4334b4ec7635",
      "tree": "3c5d70d6fc2e5d8d3975daedb34e208eadab105a",
      "parents": [
        "8ae43ff8aa60f81f5d82a4911d704ce8902d11fb"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:23 2006 -0700"
      },
      "message": "[PATCH] uml: remove spinlock wrapper functions\n\nThe irq_spinlock is not needed from user code any more, so the irq_lock and\nirq_unlock wrappers can go away.  This also changes the name of the lock to\nirq_lock.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ae43ff8aa60f81f5d82a4911d704ce8902d11fb",
      "tree": "6aced5cef586796d00e939bcac8c2dcbd3efceaf",
      "parents": [
        "bacf4549187ddb624a5d89129c7dccc0ca67ce7c"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:23 2006 -0700"
      },
      "message": "[PATCH] uml: mark forward_interrupts as being mode-specific\n\nMark forward_interrupts as being tt-mode only.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bacf4549187ddb624a5d89129c7dccc0ca67ce7c",
      "tree": "8f93edf174930b43c1e15da3459fa0bbd9dc2276",
      "parents": [
        "872aaa65a6ef30edef05a89977f7021f9840b215"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:23 2006 -0700"
      },
      "message": "[PATCH] uml: ifdef a mode-specific function\n\numl_idle_timer is tt-mode only, so ifdef it as such to make it easier to spot\nwhen tt mode is killed.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e64bd134085451fe3f751025c5d5a70729164b7c",
      "tree": "547aaa97aa3a8226b2c028c56adc9671477131b8",
      "parents": [
        "9914aee827322f46c306d724b38ad73af7daa9a5"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:23 2006 -0700"
      },
      "message": "[PATCH] uml: signal initialization cleanup\n\nIt turns out that init_new_thread_signals is always called with altstack \u003d\u003d 1,\nso we can eliminate the parameter.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23bbd586ed7894982fd9323f63b2065afbb77773",
      "tree": "6fec4b69d2c4bafd134efc886f700654606c56fe",
      "parents": [
        "8633c2331e738218c7356633e1c4adb75726225f"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:23 2006 -0700"
      },
      "message": "[PATCH] uml: fix static binary segfault\n\nWhen UML is built as a static binary, it segfaults when run.  The reason is\nthat a memory hole that is present in dynamic binaries isn\u0027t there in static\nbinaries, and it contains essential stuff.\n\nThis fix removes the code which maps some anonymous memory into that hole and\ncleans up some related code.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aceb343464a136e1c0de5294b097a1f9ab018870",
      "tree": "db42e6d7b059948b3ef0d957fb9dcc87462c7fd3",
      "parents": [
        "598d188af1a0645dc75c9541eff0017a4f6d9987"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:23 2006 -0700"
      },
      "message": "[PATCH] uml: timer initialization cleanup\n\nThis cleans up the mess that is the timer initialization.  There used to be\ntwo timer handlers - one that basically ran during delay loop calibration and\none that handled the timer afterwards.  There were also two sets of timer\ninitialization code - one that starts in user code and calls into the kernel\nside of the house, and one that starts in kernel code and calls user code.\n\nThis eliminates one timer handler and consolidates the two sets of\ninitialization code.\n\n[akpm@osdl.org: use new INTF_ flags]\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "598d188af1a0645dc75c9541eff0017a4f6d9987",
      "tree": "ffbc9704b361ca01cf4a1817cc02b4b82e86f4ea",
      "parents": [
        "5f49d7247828bd2d992cf9bd78e5e33a421fb0ba"
      ],
      "author": {
        "name": "Tyler",
        "email": "tyler@agat.net",
        "time": "Mon Jul 10 04:45:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:23 2006 -0700"
      },
      "message": "[PATCH] uml: clean up address space limits code\n\nI was looking at the code of the UML and more precisely at the functions\nset_task_sizes_tt and set_task_sizes_skas.  I noticed that these 2 functions\ntake a paramater (arg) which is not used : the function is always called with\nthe value 0.\n\nI suppose that this value might change in the future (or even can be\nconfigured), so I added a constant in mem_user.h file.\n\nAlso, I rounded CONFIG_HOST_TASk_SIZE to a 4M.\n\nSigned-off-by: Tyler \u003ctyler@agat.net\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "264f48646e6829b4d00a0e058452578318e6fb15",
      "tree": "a5a21554e26ae59e7b3a5af3e8c76e7daa8af9f3",
      "parents": [
        "5e483075a1f9862a65af648d1d939499969c7b5d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:09 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove the line_driver devfs_name field as it\u0027s no longer needed\n\nAlso fixes all drivers that set this field.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ],
  "next": "17660bdd5c1f1a165273c1a59cb5b87670a81cc4"
}
