)]}'
{
  "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": "2c392a4f47f41b24432e6aa77bb5167d0bbb10c5",
      "tree": "2b926ad86b52039789814f1d4174364bdd91d60f",
      "parents": [
        "3558c9b3232b5f0fd9f32043a191eca20fca64c6"
      ],
      "author": {
        "name": "Nicolas George",
        "email": "nicolas.george@ens.fr",
        "time": "Tue Sep 18 22:46:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:17 2007 -0700"
      },
      "message": "uml: use correct type in BLKGETSIZE ioctl\n\nI found a type mismatch in UML that makes host block devices unusable as ubd\ndevices on x86_64 and other 64 bits systems (segfault of the mm subsystem):\n\nIn block/ioctl.c, the following lines show that the BLKGETSIZE ioctl expects\na pointer to a long:\n\n\tcase BLKGETSIZE:\n\t\tif ((bdev-\u003ebd_inode-\u003ei_size \u003e\u003e 9) \u003e ~0UL)\n\t\t\treturn -EFBIG;\n\t\treturn put_ulong(arg, bdev-\u003ebd_inode-\u003ei_size \u003e\u003e 9);\n\nIn arch/um/os-Linux/file.c, os_file_size calls it with an int.\n\nThe ioctl_list man page should be fixed as well.\n\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": "d1254b12c93e1e586137a2ffef71fd33cf273f35",
      "tree": "b122f08030c920608996eb52cce1068030ffd3b6",
      "parents": [
        "c7ec16da5adc1c1b341b2a83bde7add17dcf811a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Aug 30 23:56:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Aug 31 01:42:22 2007 -0700"
      },
      "message": "uml: fix x86_64 core dump crash\n\nStop UML crashing when trying to dump a process core on x86_64.  This is the\nminimal fix to stop the crash - more things are broken here, and patches are\nforthcoming.\n\nThe immediate thing to do is define ELF_CORE_COPY_REGS and\nELF_CORE_COPY_FPREGS.  Defining ELF_CORE_COPY_FPREGS allows dump_fpu to go\naway.  It is defined in terms of save_fp_registers, so that needs to be added.\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": "97a1fcbb20fcbb0177567fd2dbcc6ed1bcc450ce",
      "tree": "0331a8685599fbe23532bd69cd89ef82e4ed7806",
      "parents": [
        "da3e30e78ed9652322dccb49fa149e7b4e985f74"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 23 18:43:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 24 12:24:58 2007 -0700"
      },
      "message": "uml: more __init annotations\n\n2.6.23-rc1 turned up another batch of references from non-__init code to\n__init code.  In most cases, these were missing __init annotations.  In one\ncase (os_drop_memory), the annotation was present but wrong.\n\ninit_maps is __init, but for some reason was being very careful about the\nmechanism by which it allocated memory, checking whether it was OK to use\nkmalloc (at this point in the boot, it definitely isn\u0027t) and using either\nalloc_bootmem_low_pages or kmalloc/vmalloc.  So, the kmalloc/vmalloc code is\nremoved.\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": "da3e30e78ed9652322dccb49fa149e7b4e985f74",
      "tree": "f0d8556e419be265e645d0a6f5ead070ee0aded2",
      "parents": [
        "1a65f493c335abc3822291b52f3565776ce39a1b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 23 18:43:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 24 12:24:58 2007 -0700"
      },
      "message": "uml: fix aio compilation bug\n\nRestructure do_aio thanks to commments from Ulrich and Al.\n\nUli started this by seeing that UML\u0027s initialization of a struct iocb\ninitialized fields that it shouldn\u0027t.\n\nAl followed up by adding the following cleanups:\n\teliminating a variable by just using an anonymous structure in\nits place.\n\thoisting a duplicated line out of the switch.\n\tsimplifying the error checking at the end.\n\nI added a severity to the printk.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a65f493c335abc3822291b52f3565776ce39a1b",
      "tree": "63c2d36c9a779e45232c07dbbf55ca20c27d6618",
      "parents": [
        "0d786d4a2773f06a791e8c3730d049077fb81df6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 23 18:43:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 24 12:24:58 2007 -0700"
      },
      "message": "uml: fix string exporting on UML/i386\n\nIn 2.6.23-rc1, i386 fiddled its string support such that UML started getting\nundefined references from modules.  The UML asm/string.h was including the\ni386 string.h, which defined __HAVE_ARCH_STR*, but the corresponding\nimplementations weren\u0027t being pulled in.\n\nThis is fixed by adding arch/i386/lib/string.h to the list of host\narchitecture files to be pulled in to UML.\n\nA complication is that the libc exports file assumed that the generic strlen\nand strstr weren\u0027t in use (i.e.  __HAVE_ARCH_STR is defined), then they aren\u0027t\nexported.  This is untrue for strlen, which is exported in either case, so\nthis logic is not needed.\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": "e8234483e7545b3cd298b0265fcee2e4a14c9f51",
      "tree": "f0594e0fb26c2429c50acff019e73ce74b50af70",
      "parents": [
        "e4c4bf9968cb4f0fceb1b8fb54790ccae73caf4e"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun Jul 15 23:38:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:39 2007 -0700"
      },
      "message": "uml: export hostfs symbols\n\nAdd some exports for hostfs that are required after Alberto Bertogli\u0027s fixes\nfor accessing unlinked host files.\n\nAlso did some style cleanups while I was here.\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": "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": "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": "cf6acedbeac17dea1c1eed85048a72e188f3f768",
      "tree": "d5c1b4e5b9a5e8c22198bc92839c80305641cb09",
      "parents": [
        "da90fa8ff671a0139772ec3b3e82c06077e82122"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed May 23 13:57:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:12 2007 -0700"
      },
      "message": "uml: improve PTRACE_SYSEMU checking\n\nMake the PTRACE_SYSEMU checking more robust.  It will make sure that system\ncall numbers are reported correctly.  If there is a problem, it will disable\nPTRACE_SYSEMU use and use PTRACE_SYSCALL instead.\n\nThanks to Balaji G for helping reproduce this problem.\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": "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": "2ea5bc5e5bb51492f189bba44045e0de7decf4a0",
      "tree": "3451944d97b58989fcc4c06ec70d9f43aaaf3b0a",
      "parents": [
        "e1a79c400a86f2f6a6735480e31f6ee159e76fa2"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu May 10 22:22:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:33 2007 -0700"
      },
      "message": "uml: tidy IRQ code\n\nSome tidying of the irq code before introducing irq stacks.  Mostly\nstyle fixes, but the timer handler calls the timer code directly\nrather than going through the generic sig_handler_common_skas.\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": "e1a79c400a86f2f6a6735480e31f6ee159e76fa2",
      "tree": "96cb07fbca43e4f6850559770c16eccb89e9687c",
      "parents": [
        "57598fd7b31f6437874308a79ca23e51c74da59b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu May 10 22:22:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:33 2007 -0700"
      },
      "message": "uml: use UM_THREAD_SIZE in userspace code\n\nNow that we have UM_THREAD_SIZE, we can replace the calculations in\nuser-space code (an earlier patch took care of the kernel side of the\nhouse).\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": "0e7d18b57c39bedcbd181e3c06d13572b33e5380",
      "tree": "18d89d066be5bdf0ce3d86b5cd7b6ab41152ca46",
      "parents": [
        "cb0c78cc94a63871cad051674516b38e4a8aef95"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed May 09 02:33:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "uml: turn build warnings into comments\n\nThese haven\u0027t been fixed for ages.  Just make comments out of them.\n\narch/um/kernel/skas/process.c:181:2: warning: #warning Need to look up\n+userspace_pid by cpu\narch/um/kernel/skas/process.c:187:2: warning: #warning Need to look up\n+userspace_pid by cpu\narch/um/kernel/skas/process.c:194:2: warning: #warning need to loop over\n+userspace_pids in kill_off_processes_skas\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\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": "231f7e9d029a710c14352bff3b8d3753cb9bfde8",
      "tree": "9676c0f0e5995f756ef3508b244f21c2541523cf",
      "parents": [
        "0ff563830209d2f5ea2ece071f7ea71aff934544"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed May 09 02:33:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "uml: mark a tt-only function\n\nMark another function as tt-mode only.\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": "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": "8603ec81487a5fefbc29611ff0d635b33b6da990",
      "tree": "2cb7a391880aef15f33a0cea71bfd09ac5264c8f",
      "parents": [
        "a6ea4cceed18edebe1eb6001cb9e0f88cd741a6c"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:03 2007 -0700"
      },
      "message": "uml: aIO deadlock avoidance\n\nAllow deadlocks to be avoided in the AIO code by setting the pipe to the I/O\nthread non-blocking.\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": "77f6af778dc23514d897f4fdc7935329285ecb1b",
      "tree": "b800f241f3d49dce3ef79c7ec2e6cf8ff04e07a7",
      "parents": [
        "63843c265fd0e0c7894f713e0db5777560e756ae"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:03 2007 -0700"
      },
      "message": "uml: don\u0027t try to handle signals on initial process stack\n\nCode running on the initial UML stack can\u0027t receive or process signals since\ncurrent must be valid when IRQs are handled, and there is no current for this\nstack.\n\nSo, instead of using UML_LONGJMP and UML_SETJMP, which are careful to save and\nrestore signal state, and, as a side-effect, handle any deferred signals,\nstart_idle_thread must use the bare equivalents, which don\u0027t do anything with\nsignals.\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": "a61f334fd2864b9b040f7e882726426ed7e8a317",
      "tree": "51874236a1f324a2664118f54aadd9ba3beb95ca",
      "parents": [
        "ef0470c053274c343b2be8737e0146d65e17f9be"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:03 2007 -0700"
      },
      "message": "uml: convert libc layer to call read and write\n\nThis patch converts calls in the os layer to os_{read,write}_file to calls\ndirectly to libc read() and write() where it is clear that the I/O buffer is\nin the kernel.\n\nWe can do that here instead of calling os_{read,write}_file_k since we are in\nlibc code and can call libc directly.\n\nWith the change in the calls, error handling needs to be changed to refer to\nerrno directly rather than the return value of the call.\n\nCATCH_EINTR wrappers were also added where needed.\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": "ef0470c053274c343b2be8737e0146d65e17f9be",
      "tree": "68809a8af1da35e3bb3530a667eea080e086fae0",
      "parents": [
        "3d564047a5f45cb628ec72514f68076e532988f3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:03 2007 -0700"
      },
      "message": "uml: tidy libc code\n\nThis patch lays some groundwork for the next one, which converts calls to\nos_{read,write}_file into {read,write}, by doing some tidying in the affected\nareas.\n\ndo_not_aio gets restructured to make the final result a bit cleaner.\n\nThere are also whitespace and other formatting fixes, fixes in error messages,\nand a typo 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": "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": "f30c2c983e09470446ee00472f9d4a927fe2e9cb",
      "tree": "49d40dbf2143f178ce3a95f436c0a9db6f74394f",
      "parents": [
        "2e3f5251ac716879df6b6271f243f657c6e02e9a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:02 2007 -0700"
      },
      "message": "uml: dump registers on ptrace or wait failure\n\nProvide a register dump if handle_trap fails.  Abstract out ptrace_dump_regs\nsince it now has two 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": "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": "36e454630473caa178bcbc4982ed6a68cf002e95",
      "tree": "a80208c4d995d49025e7654447ea35476ed01e40",
      "parents": [
        "9218b1714949095bff9d9739d80f431d58e561d6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:01 2007 -0700"
      },
      "message": "uml: add missing __init declarations\n\nThe build started finding calls from non-init to init functions.  These are\njust cases of init functions not being properly marked, so this patch fixes\nthat.\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": "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": "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": "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": "56bd194bb200ef0c49517de67a7d7f4b043b11b1",
      "tree": "2c180ee0e18e0e18b997a8a14d84505f0388f1c7",
      "parents": [
        "b47d2debf229469c78af4145ee7ad35a0f21b67f"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "uml: driver formatting fixes\n\nFix a bunch of formatting violations in the drivers:\n\treturn(n) -\u003e return n\n\twhitespace fixes\n\temacs formatting comment removal\n\tbreaking if(foo) return(n) into two lines\n\nThere are also a couple of errno use bugs:\n\tusing errno in a printk when the failure put errno into a local variable\n\tsaving errno after a printk, which can change 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": "1d94cda04eb82feb87c932ac3d4aef1e9dc78a43",
      "tree": "38883b3d8a45013ab58eacad7b85ad079f2cdcf9",
      "parents": [
        "48b201846901c1780fbc7ea779dcc8aa8ab8e16b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:51:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "uml: print coredump limits\n\nPrint out core dump limits at boot time.  This is to allow core dumps\nto be collected if something goes very wrong and to tell if a core\ndump isn\u0027t going to happen because of a resource limit.\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": "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": "a5ed1ffa6c2480cdcf3f0aa945f0b8622fe4e90b",
      "tree": "60bc11afebc2ede39683e3d08531856110872d5a",
      "parents": [
        "11100b1dfb6e9444d54d38e822753f59ee42a7e6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sun May 06 14:50:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "uml: formatting fixes\n\nFormatting fixes -\n\tstyle violations\n\twhitespace breakage\n\temacs formatting 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": "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": "98e399f82ab3a6d863d1d4a7ea48925cc91c830e",
      "tree": "5f84043aeec1ec27c2e8e6cc25b5d2e6c3d07343",
      "parents": [
        "31713c333ddbb66d694829082620b69b71c4b09a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:33:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:41 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_mac_header()\n\nFor the places where we need a pointer to the mac header, it is still legal to\ntouch skb-\u003emac.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nThis one also converts some more cases to skb_reset_mac_header() that my\nregex missed as it had no spaces before nor after \u0027\u003d\u0027, ugh.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "0e8cd28a084691587549630dce728661401d343b",
      "tree": "c46a2b5e001d159e2bce921d5f638ee5caccf624",
      "parents": [
        "b4cf95c69a72baf90b8f275294a3ff3d282ffe09"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Mar 06 01:42:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] uml: comment the initialization of a global\n\nComment the fact that sig_info is initialized early in boot, and thus doesn\u0027t\nneed any locking.\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": "b4cf95c69a72baf90b8f275294a3ff3d282ffe09",
      "tree": "6c5be93ae73b892993a226387c4a25a55a33bbb1",
      "parents": [
        "7c7a89499a1089a36e40de2db54ff82f5988270d"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Mar 06 01:42:19 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] uml: add a debugging message\n\nAdd a debugging message in the case that mapping a stub fails.\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": "14251809b1921b1216568700f1be2f91a1cbb5c7",
      "tree": "7162d7623138be81cc733968bf69d0511011d21b",
      "parents": [
        "cf2775f175128fc9fd7ffb88981e068d27bc85db"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Feb 28 20:13:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:38 2007 -0800"
      },
      "message": "[PATCH] uml: host VDSO fix\n\nThis fixes a problem seen by a number of people running UML on newer host\nkernels.  init would hang with an infinite segfault loop.\n\nIt turns out that the host kernel was providing a AT_SYSINFO_EHDR of\n0xffffe000, which faked UML into believing that the host VDSO page could be\nreused.  However, AT_SYSINFO pointed into the middle of the address space, and\nwas unmapped as a result.  Because UML was providing AT_SYSINFO_EHDR and\nAT_SYSINFO to its own processes, these would branch to nowhere when trying to\nuse the VDSO.\n\nThe fix is to also check the location of AT_SYSINFO when deciding whether to\nuse the host\u0027s VDSO.\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": "04a51e66adcdc0de6ffaa488934ce3ffb3818ecf",
      "tree": "42a3ae0606087ac3e01e37e4b2e56a65bdb5e542",
      "parents": [
        "af727902212343211627da14d17c85592feb0e18"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Feb 28 20:13:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:38 2007 -0800"
      },
      "message": "[PATCH] uml: add back accidentally removed error\n\nIn the 2.6.20 hang patch, I accidentally threw out an error message.\nThis puts it back.\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": "838e56a11cdb2abaf490eb7879ab021db938d47d",
      "tree": "4a651d8190b6dab23040c405c1cac3645844372c",
      "parents": [
        "beb497ab48b1639282129f7bc18fef311fffff3d"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Feb 16 01:27:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:56 2007 -0800"
      },
      "message": "[PATCH] uml: fix 2.6.20 hang\n\nA previous cleanup misused need_poll, which had a fairly broken interface.\nIt implemented a growable array, changing the used elements count itself,\nbut leaving it up to the caller to fill in the actual elements, including\nthe entire array if the array had to be reallocated.  This worked because\nthe previous users were switching between two such structures, and the\nelements were copied from the inactive array to the active array after\nmaking sure the active array had enough room.\n\nmaybe_sigio_broken was made to use need_poll, but it was operating on a\nsingle array, so when the buffer was reallocated, the previous contents\nwere lost.\n\nThis patch makes need_poll implement more sane semantics.  It merely\nassures that the array is of the proper size and that the contents are\npreserved.  It is up to the caller to adjust the used elements count and to\nensure that the proper elements are resent.\n\nThis manifested itself as a hang in 2.6.20 as the uninitialized buffer\nconvinced UML that one of its own file descriptors didn\u0027t support SIGIO and\nneeded to be watched by poll in a separate thread.  The result was an\ninterrupt flood as control traffic over this descriptor sparked interrupts,\nwhich resulted in more control traffic, ad nauseum.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\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": "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": "3a150e1da8bc4e840d5a09fc089052011b5b6503",
      "tree": "2c0471fa0e30e89b7d47026877ae618e50b84477",
      "parents": [
        "9683da91e2db323ee728041576e29ad7fa9547b9"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:28 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] uml: fix error output during early boot\n\nThe startup code panics a lot if anything goes wrong early on.  This is wrong\nfor several reasons, like the kernel isn\u0027t running, so you can\u0027t really be\ncalling into it yet, but the harm comes from useful error messages being\ntrapped in the printk ring where no one will ever see them.\n\nThis patch changes these panics to perror and printf in wrappers which also\nexit.  Normal, informational, prints are also wrapped so that fflush(stdout)\nis called after each one.  This is so the output appears in the correct\nsequence in the event of an error.\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": "9683da91e2db323ee728041576e29ad7fa9547b9",
      "tree": "2f069f830727382bd8581691195aaa9addfdd9de",
      "parents": [
        "6c59e2f593d0c00c78ec48146de6eaf52a342dd5"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] uml: AIO locking and tidying\n\nComment the lack of locking of data that\u0027s set up once at boot time.\n\nAlso fixed a couple of bogus printks.\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": "6c59e2f593d0c00c78ec48146de6eaf52a342dd5",
      "tree": "09eb3e844d927ff79b19079390686da441624240",
      "parents": [
        "c538b391a7e8f3cb5d7756ec68d1864429d26a0c"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] uml: register handling formatting fixes\n\nFormatting fixes in the register handling 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": "c538b391a7e8f3cb5d7756ec68d1864429d26a0c",
      "tree": "553ec7fd598a72aa3f7bba80da5e692f556d7175",
      "parents": [
        "de5fe76e436d9e98f8af8005ff23a2e6066aea10"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] uml: ELF locking commentary\n\nComment the lack of locking of the elf data extracted from the ELF headers\npassed to UML.\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": "f2e62992a232544d612b7b95e932fbf3592944e1",
      "tree": "2c845c925ed522453f69d5e8c772fc9153124c2d",
      "parents": [
        "f688144b827749879279c3ad272b8d874fc17231"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:23 2007 -0800"
      },
      "message": "[PATCH] uml: IRQ handler tidying\n\nTidying the irq code -\n\tmake a variable static\n\tactivate_fd can call kmalloc directly since it\u0027s now kernel code\n\tadded a no-locking comment\n\tfixed a style violation\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": "81999a01c786e26c2058968d76b595df60d2f8da",
      "tree": "1b2a5dd4e3c5c1b028fffde127d56d220cf5a883",
      "parents": [
        "73c8f4441f07dd3b9d198ec0e97ce83138a6224c"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:23 2007 -0800"
      },
      "message": "[PATCH] uml: fix style violations\n\nFix a bunch of style violations in mem.c.\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": "9eae9b132cd2cebf98cc45550049d421302b9aba",
      "tree": "dffc7dc9f296728caa141c290099fc44dc28139c",
      "parents": [
        "7242a4005d1c496bc1140d56a0d898cde1b3e3f6"
      ],
      "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: style fixes in startup code\n\nSome style fixes in startup.c.\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": "7242a4005d1c496bc1140d56a0d898cde1b3e3f6",
      "tree": "2dfd3035634b762ba3aa2f8af1688bb848d8a71f",
      "parents": [
        "6bf79482f3288e19697d08c456b0bd6b1755d467"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 10 01:44:19 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 startup code\n\nAdd a couple of comments about some non-locked data.\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": "8210fd2a9fe4b36e99ab777a1a81eb47b703c235",
      "tree": "e39b0dd28492a6255928557504284fe6e99eead6",
      "parents": [
        "e46962fdd28f8b30b465e507b657627aa4c1a409"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Dec 06 20:34:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:29 2006 -0800"
      },
      "message": "[PATCH] uml: use get_random_bytes() after random pool is seeded\n\nWhen the UML network driver generates random MACs for its devices, it was\npossible for a number of UMLs to get the same MACs because the ethernet\ninitialization was done before the random pool was properly seeded.\n\nThis patch moves the initialization later so that it gets better randomness.\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": "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": "1f6f61649d8c64d7a3a4d143405df9a7bdd4af10",
      "tree": "16ea2d6d87b0edf1e0f7348d431ccae4229b22c0",
      "parents": [
        "53b173327d283b9bdbfb0c3b6de6f0eb197819d6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Nov 02 22:07:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:59 2006 -0800"
      },
      "message": "[PATCH] uml: include tidying\n\nIn order to get the __NR_* constants, we need sys/syscall.h.\nlinux/unistd.h works as well since it includes syscall.h, however syscall.h\nis more parsimonious.  We were inconsistent in this, and this patch adds\nsyscall.h includes where necessary and removes linux/unistd.h includes\nwhere they are not needed.\n\nasm/unistd.h also includes the __NR_* constants, but these are not the\nglibc-sanctioned ones, so this also removes one such inclusion.\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": "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": "b428b51ed9a4ff8445ea50769961f948480c1d36",
      "tree": "ea9f79dc8c56310710c39d7472b55f272b63c401",
      "parents": [
        "bbb5bbb037812ba36d638014a93134148a568684"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun Oct 29 22:46:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 30 12:08:41 2006 -0800"
      },
      "message": "[PATCH] Fix \"Remove the use of _syscallX macros in UML\"\n\nFix commit 5f4c6bc1f369f20807a8e753c2308d1629478c61: it spits out warnings\nabout missing syscall prototype (it is in \u003cunistd.h\u003e) and it does not\nrecognize that two uses of _syscallX are to be resolved against kernel\nheaders in the source tree, not against _syscallX; they in fact do not\ncompile and would not work anyway.\n\nIf _syscallX macros will be removed from the kernel tree altogether, the\nonly reasonable solution for that piece of code is switching to open-coded\ninline assembly (it\u0027s remapping the whole executable from memory, except\nthe page containing this code).\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": "d9d645f06a8f50659bbae2be64ed8367ba068fc0",
      "tree": "a514ffe62493538e0e5725685380b961e6ca4483",
      "parents": [
        "b2670eacfb013169b8bf151a5078a9ef8ef86466"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Oct 19 23:28:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:36 2006 -0700"
      },
      "message": "[PATCH] uml: cleanup run_helper() API to fix a leak\n\nFreeing the stack is left uselessly to the caller of run_helper in some cases\n- this is taken from run_helper_thread, but here it is useless, so no caller\nneeds it and the only place where this happens has a potential leak - in case\nof error neither run_helper() nor xterm_open() call free_stack().  At this\npoint passing a pointer is not needed - the stack pointer should be passed\ndirectly, but this change is not done here.\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": "493e3758be1d5628b4d799fe21d68969edbe32aa",
      "tree": "74d6e72ec63af141e294a6bec3dbb1ef52e2de1d",
      "parents": [
        "8b028bcd0e746ae0f2f218b911032232a32dedd5"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Oct 19 23:28:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:36 2006 -0700"
      },
      "message": "[PATCH] uml: reenable compilation of enable_timer, disabled by mistake\n\nCONFIG_MODE_TT does not work there, the UML_ prefixed version must be used -\nthis causes a link-time failure when CONFIG_MODE_TT is enabled (i.e.  always\nhere, never by Jeff).\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": "8b028bcd0e746ae0f2f218b911032232a32dedd5",
      "tree": "1941cc3dacc3450626df453a7ec228b8e9d371bd",
      "parents": [
        "c13e569073b89eb75216a2551e89ae93ad1f9951"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Oct 19 23:28:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:36 2006 -0700"
      },
      "message": "[PATCH] uml: code convention cleanup of a file\n\nFix coding conventions violations is arch/um/os-Linux/helper.c.\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": "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": "69fada32d868d7f4be128ea4df8fbe4fd897fc34",
      "tree": "ab216b52da48f39a418b1f67671c3fb05fce33df",
      "parents": [
        "1b4ad242fcfcf1e261604cb91ee5fb8032900997"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Wed Oct 11 01:21:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:20 2006 -0700"
      },
      "message": "[PATCH] uml: fix uname under setarch i386\n\nOn a 64bit Uml, if run under \"setarch i386\" (which a user did), uname()\ncurrently returns the obtained i686 as machine - fix that.  Btw, I\u0027m quite\nsurprised that under setarch i386 a 64-bit binary can run.\n\nCc: Andi Kleen \u003cak@suse.de\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": "d875f9fd3f2369bf6f4d0e9989f00fe610eac470",
      "tree": "6a75e68d2fe1f4429237be689d9889cde2974501",
      "parents": [
        "e27e80b3da7ad6b90185bd689879888907104a40"
      ],
      "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 TT mode compile after setjmp-related changes\n\nMake TT mode compile after the introduction of klibc\u0027s implementation of\nsetjmp.\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": "5f4c6bc1f369f20807a8e753c2308d1629478c61",
      "tree": "a4845eeddcb540309c5890cb94de52ce845e0760",
      "parents": [
        "fe74290d51bc08e9b90ed7c145d74a22cd50b90e"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 02 02:18:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:23 2006 -0700"
      },
      "message": "[PATCH] Remove the use of _syscallX macros in UML\n\nUser mode linux uses _syscallX() to call into the host kernel.  The\nrecommended way to do this is to use the syscall() function from libc.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "80c13749140284abdc23bbeed2507b7e5a3dc459",
      "tree": "9d5a56f718e8f467af3daf0089309d3b1ac9d12e",
      "parents": [
        "730760e90a173ef81f89beed2f1dad2fab310f68"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Sep 29 01:58:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:04 2006 -0700"
      },
      "message": "[PATCH] uml: close file descriptor leaks\n\nClose two file descriptor leaks, one in the ubd driver and one to\n/proc/mounts.  The ubd driver bug also leaked some vmalloc space.  The\n/proc/mounts leak was a descriptor that was just never closed.\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": "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": "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": "6b7aaad9ba4f2a059a70014be12a921eceebfc47",
      "tree": "d9ba70b160b7df23dea33e5c8e83119ecdca7332",
      "parents": [
        "5e1f65a67d76341795ea527d30bfdca03999d46b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:06 2006 -0700"
      },
      "message": "[PATCH] uml: Fix handling of failed execs of helpers\n\nThere were some bugs in handling failures to exec helper programs.  errno was\npassed back from the child with the wrong sign.  It was also ignored.  In the\ncase where it mattered, the errno from the (successful) read in the parent was\nused instead.\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": "91b165c0594ab78c64f26d26e3174e6dfd60ed9d",
      "tree": "0730eefa9d4ce786f7f561e3b40700418d6d0970",
      "parents": [
        "13c06be399902c9ebda08e092edb1614bb4a3761"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Sep 25 23:33:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:49:05 2006 -0700"
      },
      "message": "[PATCH] uml: Use ARRAY_SIZE more assiduously\n\nThere were a bunch of missed ARRAY_SIZE opportunities.\n\nAlso, some formatting fixes in the affected areas of code.\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": "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": "9ead6feedd28091d86cde0843be914847b4e10e8",
      "tree": "d477bd385e04d77d74823dbbaa4c840c235a5630",
      "parents": [
        "108ffa8cbfa323d462a2f4b49f38da3205d36e5a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:24 2006 -0700"
      },
      "message": "[PATCH] uml: add some EINTR protection\n\nAdd some more uses of the CATCH_EINTR wrapper.\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": "108ffa8cbfa323d462a2f4b49f38da3205d36e5a",
      "tree": "a9474c48ff4da341ce296b9b26da70dd5bba0fd2",
      "parents": [
        "1d3468a6643a6a5905e2ac9ae1fa1aefc06d882a"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Jul 10 04:45:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:24 2006 -0700"
      },
      "message": "[PATCH] uml: formatting fixes\n\nFix a bunch of formatting problems.\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": "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": "61232f2fe44f7ac12d7512d099a8f10923eff7ea",
      "tree": "f1f17d310daf7f5b60ad6713a7a1ac7011ae45e8",
      "parents": [
        "8e64d96aeb495709c13307e2d79f3ee37e96aa4e"
      ],
      "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: fix exitcall ordering bug\n\nThis fixes an exitcall ordering bug - calls to ignore_sigio_fd can come from\nexitcalls that come after the sigio thread has been killed.  This would cause\nshutdown to hang or crash.\n\nFixed by having ignore_sigio_fd check that the thread is present before trying\nto communicate with it.\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": "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": "9914aee827322f46c306d724b38ad73af7daa9a5",
      "tree": "b59dd961ced14122946156576e6518cce88d1d8f",
      "parents": [
        "23bbd586ed7894982fd9323f63b2065afbb77773"
      ],
      "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: remove useless declaration\n\nwall_to_monotonic isn\u0027t used in this file, so we can remove the declaration.\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": "eb28931e4a2c89e53d2b0c1a02a843240bff0806",
      "tree": "14592f5cb45c8d4f4dace422b5deb98e9a9d5574",
      "parents": [
        "912ad92220038b0bb67e3310b8447e4d8802d581"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Jul 01 04:36:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:56:03 2006 -0700"
      },
      "message": "[PATCH] uml: rename and improve actually_do_remove()\n\nRename actually_do_remove() to remove_files_and_dir(), make it call\nclosedir(), make it ignore ENOENT (I see it frequently enough).\n\nENOENT is probably due to multiple threads calling the exitcall functions\ntogether*, but fixing that is non-trivial; and ignoring it is perfectly ok\nin any case.\n\n* it can surely happen: last_ditch_exit() is installed as SIGTERM handler\n  at boot, and it\u0027s not removed on thread creation.  So killall vmlinux\n  (which I do) surely causes that.  I\u0027ve seen also a crash which seems to\n  do the same.\n\nInstalling the handler on only the main thread would make UML do no cleanup\nwhen another thread exits, and we\u0027re not sure we want that.  And mutual\nexclusion in that context is tricky - we can\u0027t use spinlock in code not on\na kernel stack (spinlock debugging uses \"current\" a lot).\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": "912ad92220038b0bb67e3310b8447e4d8802d581",
      "tree": "a4131156931d9ebd5022d969ffbbf3c6bc51e055",
      "parents": [
        "47e5243afe0bd2a1aca1e1f05dfbcc214267fbc9"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat Jul 01 04:36:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:56:03 2006 -0700"
      },
      "message": "[PATCH] uml: fix not_dead_yet when directory is in bad state\n\nThe bug occurred to me when a UML left an empty ~/.uml/Sarge-norm folder -\nwhen trying to reuse not_dead_yet() failed one of its check.  The comment\nsays that\u0027s ok and means that we can take the directory, but while normally\nnot_dead_yet() removes it and returns 0 (i.e.  go on, use this), on failure\nit returns 0 but forgets to remove it.  The fix is to remove it anytime\nwe\u0027re going to return 0.\n\nBut since \"not_dead_yet\" didn\u0027t make the interface so clear, causing this\nbug, and I couldn\u0027t find a convenient name for the mix of things it did, I\nsplit it into two parts:\n\nis_umdir_used()      -\treturns a boolean, contains all checks of not_dead_yet()\numdir_take_if_dead   -\ttries to remove the dir unless it\u0027s used - returns\n\t\t\twhether it removed it, that is we now own it.\n\nWith this changes the control flow is IMHO a bit clearer and needs less\ncomment for control flow.\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": "190f4939222b8c07cd62a20e1ce0c7a97fffde99",
      "tree": "f3de1035774a1c6358231903d847f1313db7bf0b",
      "parents": [
        "c2b7a4bb30008dc256d63802e02b6fb950958443"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Jun 30 01:55:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:37 2006 -0700"
      },
      "message": "[PATCH] uml: fix off-by-one bug in VM file creation\n\nFix an off-by-one bug in temp file creation.  Seeking to the desired length\nand writing a byte resulted in the file being one byte longer than expected.\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": "c2b7a4bb30008dc256d63802e02b6fb950958443",
      "tree": "355e20a2295099dad5878c2034d39739e984d9d1",
      "parents": [
        "dd673bca474a199fb8d1b6a311832592977ecb5f"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Jun 30 01:55:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:37 2006 -0700"
      },
      "message": "[PATCH] uml: fix /proc/mounts parsing boundary condition\n\nWhen parsing /proc/mounts looking for a tmpfs mount on /dev/shm, if a string\nthat we are looking for if split across reads, then it won\u0027t be recognized.\n\nFix this by refilling the buffer whenever we advance the cursor.\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"
    }
  ],
  "next": "f218312582350900443125137e6c5fc484dc1de1"
}
