)]}'
{
  "log": [
    {
      "commit": "99764fa4ceeecba8b9e0a8a5565b418a2e94f83b",
      "tree": "aecf842728e5dfc80743662d87c089b24896f8ed",
      "parents": [
        "4a5675820436e4ad738dd442c1cc8a165101509b"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Jul 23 21:28:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "UML: make several more things static\n\n- Make some variables and functions static, since they don\u0027t need to be\n  global.\n\n- Remove an unused function - arch/um/kernel/time.c::sched_clock().\n\n- Clean the style a bit as complained by checkpatch.pl.\n\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1ef9167ca4494a8c6d71d0031c73e9c8841eadd",
      "tree": "a4c5a1420501a54ddd5bcf44ff7224e3293e8d3e",
      "parents": [
        "14c8a77e1bbd693446dad297d2ae2dd22f187e4f"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Jun 12 15:21:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:40 2008 -0700"
      },
      "message": "uml: work around broken host PTRACE_SYSEMU\n\nFedora broke PTRACE_SYSEMU again, and UML crashes as a result when it\ndoesn\u0027t need to.  This patch makes the PTRACE_SYSEMU check fail gracefully\nand makes UML fall back to PTRACE_SYSCALL.\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": "14c8a77e1bbd693446dad297d2ae2dd22f187e4f",
      "tree": "4767de6a56617b08a4469ffc1ba73401dbf979e3",
      "parents": [
        "529a4f4ec90ffd9394fdfc22bea7a858ae343171"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Jun 12 15:21:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:40 2008 -0700"
      },
      "message": "uml: remove include of asm/user.h\n\nI allowed an include of asm/user.h to sneak back in.  This patch replaces\nit with sys/user.h.\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": "b6d8adf477439e7086224bc9674c6b6638780783",
      "tree": "edf874835e3c146430f73869f0d2857dd6a30e4f",
      "parents": [
        "3d5ede6f776bdb1483bcd086f79c3bf41fed3865"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 05 22:46:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:10 2008 -0700"
      },
      "message": "uml: PATH_MAX needs limits.h\n\nInclude limits.h to get a definition of PATH_MAX.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d5ede6f776bdb1483bcd086f79c3bf41fed3865",
      "tree": "7a864fd7a848ae719bf7c838c5717f63af29f4a8",
      "parents": [
        "8bfd04b974689f700bbd053ad6e66b0a95fb80c9"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Jun 05 22:46:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:10 2008 -0700"
      },
      "message": "uml: stub needs to tolerate SIGWINCH\n\nWe lost the marking of SIGWINCH as being OK to receive during stub\nexecution, causing a panic should that happen.\n\nCc: Benedict Verheyen \u003cbenedict.verheyen@gmail.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40fb16a360d9c6459afee91dc793c1e3374feb94",
      "tree": "bbe5f8a4185ac6784d82ee8c938bb246518f6791",
      "parents": [
        "9f31287b443f30a591539e448fb628e3827a8f61"
      ],
      "author": {
        "name": "Tom Spink",
        "email": "tspink@gmail.com",
        "time": "Thu Jun 05 22:46:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:10 2008 -0700"
      },
      "message": "uml: deal with inaccessible address space start\n\nThis patch makes os_get_task_size locate the bottom of the address space,\nas well as the top.  This is for systems which put a lower limit on mmap\naddresses.  It works by manually scanning pages from zero onwards until a\nvalid page is found.\n\nBecause the bottom of the address space may not be zero, it\u0027s not\nsufficient to assume the top of the address space is the size of the\naddress space.  The size is the difference between the top address and\nbottom address.\n\n[jdike@addtoit.com: changed the name to reflect that this function is\nsupposed to return the top of the process address space, not its size and\nchanged the return value to reflect that.  Also some minor formatting\nchanges]\nSigned-off-by: Tom Spink \u003ctspink@gmail.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06e1e4ffbd1932e288839b3140cda6b8141eb684",
      "tree": "c76ad0854f28a0600885301e25e8e7197e4e924c",
      "parents": [
        "34397892a3d677d857fdaf8dec66a66b07dde0b5"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Jun 05 22:46:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:10 2008 -0700"
      },
      "message": "uml: deal with host time going backwards\n\nProtection against the host\u0027s time going backwards (eg, ntp activity on\nthe host) by keeping track of the time at the last tick and if it\u0027s\ngreater than the current time, keep time stopped until the host catches\nup.\n\nCc: Nix \u003cnix@esperi.org.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3787fa6df5bb6e80b274ff805e10b6a9bfc4588c",
      "tree": "82f7ba3ab8434929c72d7fc5fa5b352cd500aa70",
      "parents": [
        "296cd66f7f6e130fe08e6880ecb13c3fc615a8db"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed May 21 06:32:11 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 21 16:55:58 2008 -0700"
      },
      "message": "fix include order in sys-i386/registers.c\n\nWe want sys/ptrace.h before any includes of linux/ptrace.h and\nasm/user.h pulls the latter.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe2cc53ee013a4d4d0317d418e7019fe6533a5a8",
      "tree": "7a173e2703c638b8eab4a2a6762c256114acec60",
      "parents": [
        "3d88958e01e71bb14a367db75f12f7a59c068f02"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon May 12 14:02:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:22 2008 -0700"
      },
      "message": "uml: track and make up lost ticks\n\nAlarm delivery could be noticably late in the !CONFIG_NOHZ case because lost\nticks weren\u0027t being taken into account.  This is now treated more carefully,\nwith the time between ticks being calculated and the appropriate number of\nticks delivered to the timekeeping system.\n\nCc: Nix \u003cnix@esperi.org.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d33e4d7fd9a52d2673e5c730eab81856e100a74",
      "tree": "c4d5014fa21ebde900441b4a5b51092a09c47823",
      "parents": [
        "60a2988aea701a6424809a5432bf068667aac177"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon May 12 14:01:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:22 2008 -0700"
      },
      "message": "uml: random driver fixes\n\nThe random driver would essentially hang if the host\u0027s /dev/random returned\n-EAGAIN.  There was a test of need_resched followed by a schedule inside the\nloop, but that didn\u0027t help and it\u0027s the wrong way to work anyway.\n\nThe right way is to ask for an interrupt when there is input available from\nthe host and handle it then rather than polling.\n\nNow, when the host\u0027s /dev/random returns -EAGAIN, the driver asks for a wakeup\nwhen there\u0027s randomness available again and sleeps.  The interrupt routine\njust wakes up whatever processes are sleeping on host_read_wait.\n\nThere is an atomic_t, host_sleep_count, which counts the number of processes\nwaiting for randomness.  When this reaches zero, the interrupt is disabled.\n\nAn added complication is that async I/O notification was only recently added\nto /dev/random (by me), so essentially all hosts will lack it.  So, we use the\nsigio workaround here, which is to have a separate thread poll on the\ndescriptor and send an interrupt when there is input on it.  This mechanism is\nactivated when a process gets -EAGAIN (activating this multiple times is\nharmless, if a bit wasteful) and deactivated by the last process still\nwaiting.\n\nThe module name was changed from \"random\" to \"hw_random\" in order for udev to\nrecognize it.\n\nThe sigio workaround needed some changes.  sigio_broken was added for cases\nwhen we know that async notification doesn\u0027t work.  This is now called from\nmaybe_sigio_broken, which deals with pts devices.\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": "43f5b3085fdd27c4edf535d938b2cb0ccead4f75",
      "tree": "63eabda9f505ed0a07e0a12fd828674cde8f7861",
      "parents": [
        "484f1e2c1ea58c6a4352313f7ee4edd4b52deecd"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon May 12 14:01:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:22 2008 -0700"
      },
      "message": "uml: fix build when SLOB is enabled\n\nReintroduce uml_kmalloc for the benefit of UML libc code.  The\nprevious tactic of declaring __kmalloc so it could be called directly\nfrom the libc side of the house turned out to be getting too intimate\nwith slab, and it doesn\u0027t work with slob.\n\nSo, the uml_kmalloc wrapper is back.  It calls kmalloc or whatever\nthat translates into, and libc code calls it.\n\nkfree is left alone since that still works, leaving a somewhat\ninconsistent API.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47906dd9e63ba1a8cb188e9e786c5928674fbbd3",
      "tree": "34db787b1b1de132e374cbce25994ac652ccf57e",
      "parents": [
        "46d7b522ebf486edbd096965d534cc6465e9e309"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon May 12 14:01:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:21 2008 -0700"
      },
      "message": "uml: tidy ptrace interface\n\nTidy the ptrace interface code.  Removed a bunch of unused macros.\nStarted converting register sets from arrays of longs to structures.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96cee3044dca2e6510ca7cc276d1eac34a1cfd51",
      "tree": "b34789b8268f71f8c72e885428ee81791d6be756",
      "parents": [
        "53c258787427ea43ebfa76fefa6534cae507e521"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon May 12 14:01:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:21 2008 -0700"
      },
      "message": "uml: style fixes\n\nA few random style fixes.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53c258787427ea43ebfa76fefa6534cae507e521",
      "tree": "6054ebe6156c629234fcd5523a702b6703e0f017",
      "parents": [
        "c714a534d85576af21b06be605ca55cb2fb887ee"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon May 12 14:01:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:21 2008 -0700"
      },
      "message": "uml: redo host capability detection and disabling\n\nRedo how host capabilities are recorded at startup and disabled on the\ncommand line.\n\nThere are now explicit variables saying what\u0027s been disabled by the\ncommand line rather than the implicitness of the have_* variable being\nzero.  The capability variables now start at zero and are set to one\nas their capabilities are found to be present on the host.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4415d8a5aaec2008833e1c474b38627c0bc738ca",
      "tree": "ec6c96b7fe46b43f96bf0248ad95420cb7424d07",
      "parents": [
        "074a0db8e17ae271736148809c5f9d47dec2d993"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "arch/um/os-Linux/sys-i386/task_size.c: improve a bit\n\nImprove this code a bit: check sigaction\u0027s return value and remove a useless\nfflush().\n\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "626c59f5edb284027bfe25cc15e7de2f532090b5",
      "tree": "bcc981233e1f44dcb68566f3e63732b6125ad050",
      "parents": [
        "3595726ac349ca9682703535e9a999c4f08c2d80"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Apr 28 02:13:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "arch/um/os-Linux/start_up.c: various improvements.\n\n - lets ptrace_child become void\n - adds checking for the return value of change_sig\n - moves errors info into stderr instead of stdout.\n\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "297e1b256b1090adbb4357608be3d4301e76c0ce",
      "tree": "829f9286cd447de2a035c6a08f2cb31276e34d64",
      "parents": [
        "4a27214d7be31e122db4102166f49ec15958e8e9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 18:59:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "uml: fix build error\n\nfix:\n\n arch/um/os-Linux/helper.c: In function \u0027run_helper\u0027:\n arch/um/os-Linux/helper.c:73: error: \u0027PATH_MAX\u0027 undeclared (first use in this function)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2f56debd77a8f52f1ac1d3c3d89cc7ce5e083230",
      "tree": "353847d10aa0d5bc1de2707ecd8fa2391ad096f3",
      "parents": [
        "e4d06b3f904ddfab4531a1e23f1f5e1bd284b605"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Feb 23 15:23:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:15 2008 -0800"
      },
      "message": "uml: fix FP register corruption\n\nCommit ee3d9bd4de1ed93d2a7ee41c331ed30a1c7b8acd (\"uml: simplify SIGSEGV\nhandling\"), while greatly simplifying the kernel SIGSEGV handler that\nruns in the process address space, introduced a bug which corrupts FP\nstate in the process.\n\nPreviously, the SIGSEGV handler called the sigreturn system call by hand - it\ncouldn\u0027t return through the restorer provided to it because that could try to\ncall the libc restorer which likely wouldn\u0027t exist in the process address\nspace.  So, it blocked off some signals, including SIGUSR1, on entry to the\nSIGSEGV handler, queued a SIGUSR1 to itself, and invoked sigreturn.  The\nSIGUSR1 was delivered, and was visible to the UML kernel after sigreturn\nfinished.\n\nThe commit eliminated the signal masking and the call to sigreturn.  The\nhandler simply hits itself with a SIGTRAP to let the UML kernel know that it\nis finished.  UML then restores the process registers, which effectively\nlongjmps the process out of the signal handler, skipping sigreturn\u0027s restoring\nof register state and the signal mask.\n\nThe bug is that the host apparently sets used_fp to 0 when it saves the\nprocess FP state in the sigcontext on the process signal stack.  Thus, when\nthe process is longjmped out of the handler, its FP state is corrupt because\nit wasn\u0027t saved on the context switch to the UML kernel.\n\nThis manifested itself as sleep hanging.  For some reason, sleep uses floating\npoint in order to calculate the sleep interval.  When a page fault corrupts\nits FP state, it is faked into essentially sleeping forever.\n\nThis patch saves the FP state before entering the SIGSEGV handler and restores\nit afterwards.\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": "11a7ac23a2d7464a74ceb7b97dbae4d5a0208576",
      "tree": "9b4f26d1675ef802b82b01a8780a58d21c17bd2a",
      "parents": [
        "5134d8fea06ab51459fd095d091d1e6f73a44553"
      ],
      "author": {
        "name": "Jim Meyering",
        "email": "meyering@redhat.com",
        "time": "Fri Feb 08 04:22:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:43 2008 -0800"
      },
      "message": "uml: improved error handling while locating temp dir\n\n* arch/um/os-Linux/mem.c (make_tempfile): Don\u0027t deref NULL upon failed malloc.\n\n* arch/um/os-Linux/mem.c (make_tempfile): Handle NULL tempdir.\nDon\u0027t let a long tempdir (e.g., via TMPDIR) provoke heap corruption.\n\n[ jdike - formatting cleanups, deleted obsolete comment ]\n\nSigned-off-by: Jim Meyering \u003cmeyering@redhat.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5134d8fea06ab51459fd095d091d1e6f73a44553",
      "tree": "504a84a9290a40f0c98b7c5731b7df82cb357ebe",
      "parents": [
        "536788fe2d28e11db6aeda74207d95d750fb761f"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Feb 08 04:22:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "uml: style fixes in arch/um/os-Linux\n\nStyle changes under arch/um/os-Linux:\n\tinclude trimming\n\tCodingStyle fixes\n\tsome printks needed severity indicators\n\nmake_tempfile turns out not to be used outside of mem.c, so it is now static.\nIts declaration in tempfile.h is no longer needed, and tempfile.h itself is no\nlonger needed.\n\ncreate_tmp_file was also made static.\n\ncheckpatch moans about an EXPORT_SYMBOL in user_syms.c which is part of a\nmacro definition - this is copying a bit of kernel infrastructure into the\nlibc side of UML because the kernel headers can\u0027t be included there.\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": "536788fe2d28e11db6aeda74207d95d750fb761f",
      "tree": "73df2d3a46c542c71d3a84c20c8fd1ce617386a3",
      "parents": [
        "2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri Feb 08 04:22:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "uml: runtime host VMSPLIT detection\n\nCalculate TASK_SIZE at run-time by figuring out the host\u0027s VMSPLIT - this is\nneeded on i386 if UML is to run on hosts with varying VMSPLITs without\nrecompilation.\n\nTASK_SIZE is now defined in terms of a variable, task_size.  This gets rid of\nan include of pgtable.h from processor.h, which can cause include loops.\n\nOn i386, task_size is calculated early in boot by probing the address space in\na binary search to figure out where the boundary between usable and non-usable\nmemory is.  This tries to make sure that a page that is considered to be in\nuserspace is, or can be made, read-write.  I\u0027m concerned about a system-global\nVDSO page in kernel memory being hit and considered to be a userspace page.\n\nOn x86_64, task_size is just the old value of CONFIG_TOP_ADDR.\n\nA bunch of config variable are gone now.  CONFIG_TOP_ADDR is directly replaced\nby TASK_SIZE.  NEST_LEVEL is gone since the relocation of the stubs makes it\nirrelevant.  All the HOST_VMSPLIT stuff is gone.  All references to these in\narch/um/Makefile are also gone.\n\nI noticed and fixed a missing extern in os.h when adding os_get_task_size.\n\nNote: This has been revised to fix the 32-bit UML on 64-bit host bug that\nMiklos ran into.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "576c013df0ac9ad1f217452c14ddde246bb1a70d",
      "tree": "462f11121cd5157516a094fa843480c8a44f29e0",
      "parents": [
        "b54988325c4cbf8bd92c0def53387ab6516d0920"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:31 2008 -0800"
      },
      "message": "uml: move register initialization\n\nCalling init_registers inside the skas3 checking causes mysterious crashes if\nit doesn\u0027t happen because the skas3 checking is bypassed.  This patch moves it\nto os_early_checks.\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": "b54988325c4cbf8bd92c0def53387ab6516d0920",
      "tree": "d8b86e3087c5c15fd713c4cee79e047973d3298e",
      "parents": [
        "95906b24fbe4d22e5861f67fe1e8274c7ecfeda1"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:31 2008 -0800"
      },
      "message": "uml: add newlines to printks\n\nSome printks were missing newlines.\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": "bf53d85ec20c228e0efdadbdb12c0f92283fcfd0",
      "tree": "de724ce6fa140fbc26b2f98fcfffbc5384bd8553",
      "parents": [
        "80e39311ff3d7d2267ea8d259aab8dc9d5a59d61"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: implement O_APPEND\n\nThe .a flags in openflags never had an implementation.\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": "3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97",
      "tree": "fe67635a8efdd58fade83eb573a0ed88c9c816b1",
      "parents": [
        "cfef8f34e7cf57f3d278ceda79c85112dec13dc6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: remove init_irq_signals\n\ninit_irq_signals doesn\u0027t need to be called from the context of a new process.\nIt initializes handlers, which are useless in process context.  With that call\ngone, init_irq_signals has only one caller, so it can be inlined into\ninit_new_thread_signals.\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": "cfef8f34e7cf57f3d278ceda79c85112dec13dc6",
      "tree": "5ddaf58aa91905cfda2917d6264e24fb950ab88f",
      "parents": [
        "d7b88513c504e49d450b0f89f80ba9d451a3c804"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: signal handling tidying\n\nThis patch tidies the signal handling code slightly.\n\npending is renamed to signals_pending for symmetry with signals_enabled.\n\nremove_sigstack was unused, so can be deleted.\n\nThe value of change_sig was never used, so it is now void and the\nreturn value is not calculated any more.\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": "e6a2d1f7024f93e4622cd7ba633666a63ccce49e",
      "tree": "c51eb5112312cf70af9786a4fa5b650efa516de8",
      "parents": [
        "75ada8ffe08cef9b506a796ba6f9ce2071dcf0d7"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: clean up sig_handler_common_skas\n\nsig_handler_common_skas needs significant modernization, starting with\nits name and storage class.\n\nThere is no need to hide the true type of the sigcontext pointer, so\nthe void * dummy parameter can be replaced with a sigcontext *sc.\n\nThe array of uml_pt_regs structs used in the page fault case are gone,\nreplaced by a local variable.  This is also used in the non-segfault\ncase instead of the copy in the task_struct.  Since it\u0027s local, the\nspecial handling of the is_user flag can go away.\n\nThere hasn\u0027t been any special treatment of SIGUSR1 in ages, so the\nline that enables it can be deleted.\n\nThe special treatment of SIGSEGV similarly goes away, but to\ncompensate, SA_NODEFER is added to sa_mask when registering a signal\nhandler.\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": "75ada8ffe08cef9b506a796ba6f9ce2071dcf0d7",
      "tree": "ee7702a687fc3857f8c5190bca4f7c5f3c1497d2",
      "parents": [
        "e06173bde0ec9830a296720f8cd7cb2f17b76fa4"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: move sig_handler_common_skas\n\nThis patch moves sig_handler_common_skas from\narch/um/os-Linux/skas/trap.c to its only caller in\narch/um/os-Linux/signal.c.  trap.c is now empty, so it can be removed.\n\nThis is code movement only - the significant cleanup needed here is\ndone in the next patch.\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": "e06173bde0ec9830a296720f8cd7cb2f17b76fa4",
      "tree": "2921ec692006b07a2ff2fadcf5e392d160b1c766",
      "parents": [
        "a9b71b6c5473d2c1526deac0a1a207fe476f6088"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: don\u0027t allow processes to call into stub\n\nKill a process that tries to branch into a stub and execute a system\ncall.  There are no security implications here - a system call in a\nstub is treated the same as a system call anywhere else.  But if a\nprocess is trying to branch into a stub, either it is trying something\nnasty or it has gone haywire, so it\u0027s a good idea to get rid of it in\neither case.\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": "1aa351a308d2c3ddb92b6cc45083fc54271d0010",
      "tree": "8694809fe286285fa4afbacd5d69e9097d5baf62",
      "parents": [
        "fce8c41c9f68b9af36f3076bae8f1d469a6e7aab"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: tidy helper code\n\nStyle fixes to arch/um/os/helper.c and tidying up the breakpoint fix a\nbit.\n\nhelper.c gets all the usual style fixes -\n\t updated copyright\n\t all printks get severities\n\nAlso -\n\t errval changes to err in helper_child\n\t fixed an obsolete comment\n\t run_helper was killing a child process which is guaranteed to\nbe dead or dying anyway\n\nRemoved the nohang and pname arguments from helper_wait and fixed the\ndeclaration and callers.  nohang was used only in the slirp driver and\nI don\u0027t think it was needed.  I think pname was a bit of overkill in\nputting out an error message when something goes wrong.\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": "fce8c41c9f68b9af36f3076bae8f1d469a6e7aab",
      "tree": "3580fd114bcef42a898c838f5a58ddcb2d29ae99",
      "parents": [
        "0983a88b9f0ceffb2116ce92c7b273ce2aec7b93"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:29 2008 -0800"
      },
      "message": "uml: use barrier() instead of mb()\n\nsignals_enabled and pending have requirements on the order in which they are\nmodified.  This used to be done by declaring them volatile and putting an mb()\nwhere the ordering requirements were in effect.\n\nAfter getting a better (I hope) understanding of how to do this correctly, the\nvolatile declarations are gone and the mb()\u0027s replaced by barrier()\u0027s.\n\nOne of the mb()\u0027s was deleted because I see no problematic writes that could\nbe re-ordered past that point.\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": "0983a88b9f0ceffb2116ce92c7b273ce2aec7b93",
      "tree": "cf63f0646f64eecc80e5e3cd8d9c16252a751d8e",
      "parents": [
        "8efa3c9d545ab6adc5c5e001cbd7aee60909b3da"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:29 2008 -0800"
      },
      "message": "uml: install panic notifier earlier\n\nIt turns out that if there\u0027s a panic early enough, UML will just sit there in\nthe LED-blinking loop because the panic notifier hadn\u0027t been installed yet.\n\nThis patch installs it earlier.\n\nIt also fixes the problem which exposed the hang, namely that if you give UML\na zero-sized initrd, it will ask alloc_bootmem for zero bytes, and that will\ncause the panic.\n\nWhile I was in initrd.c, I gave it a style makeover.\n\nPrompted by checkpatch, I moved a couple extern declarations of uml_exitcode\nto kern_util.h.\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": "8efa3c9d545ab6adc5c5e001cbd7aee60909b3da",
      "tree": "1ec5750233c242168f17a9669ff4ba4aa113a2e6",
      "parents": [
        "0b4e273fb83bce5dd8e166a4defb16ebdd215abf"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:29 2008 -0800"
      },
      "message": "uml: eliminate setjmp_wrapper\n\nsetjmp_wrapper existed to provide setjmp to kernel code when UML used libc\u0027s\nsetjmp and longjmp.  Now that UML has its own implementation, this isn\u0027t\nneeded and kernel code can invoke setjmp directly.\n\ndo_buffer_op is massively cleaned up since it is no longer a callback from\nsetjmp_wrapper and given a va_list from which it must extract its arguments.\n\nThe actual setjmp is moved from buffer_op to do_op_one_page because the copy\noperation is inside an atomic section (kmap_atomic to kunmap_atomic) and it\nshouldn\u0027t be longjmp-ed out of.\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": "1adfd6095e1c654dce5a692db5aa5a2b2a8d6b0d",
      "tree": "229d0af90109b55bf59fe648947d66c4f044cf5a",
      "parents": [
        "bf8fde785b872282e7e86d9ea8a9c4e543985bb3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:29 2008 -0800"
      },
      "message": "uml: style fixes in file.c\n\narch/um/os-Linux/file.c needed some style work -\n\tupdated the copyright\n\tcleaned up the includes\n\tCodingStyle fixes\n\tadded some missing CATCH_EINTRs\n\tos_set_owner was unused, so it is gone\n\tall printks now have severities\n\tfcntl(F_GETFL) was being called without checking the return\n\tremoved an obsolete comment\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": "bf8fde785b872282e7e86d9ea8a9c4e543985bb3",
      "tree": "cb813edfbb04c8474caab0f8a26a8512a503cf82",
      "parents": [
        "7b5cc6ee6cf9001775c348bac09814a45f1276b7"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:29 2008 -0800"
      },
      "message": "uml: miscellaneous code cleanups\n\nCode tidying -\n\tthe pid field of struct irq_fd isn\u0027t used, so it is removed\n     \tos_set_fd_async needed to read flags before changing them, it\ndoesn\u0027t need a pid passed in because it can call getpid itself, and a\nblock of unused code needed deleting\n\tos_get_exec_close was unused, so it is removed\n\tptrace_child called _exit for historical reasons which are no\nlonger valid, so just calls exit instead\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": "fee64d3c153f1d5c28f91214b4d0db54d3f1fe0a",
      "tree": "5a846181005cdb4513d8284c4b1f036afaa78ff8",
      "parents": [
        "260c0cb886c304b760835b6033bf876a7701eb91"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:31:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:29 2008 -0800"
      },
      "message": "uml: syle fixes in arch/um/os-Linux\n\nStyle fixes in arch/um/os-Linux/irq.c and arch/um/os-Linux/sigio.c:\n\tUpdated copyrights\n\ttrimmed includes\n\tadded severity indicators to printks\n\tCodingStyle fixes\n\tturned an bunch of panics into printks\n\tcall some libc functions directly instead of going through the\nos_* wrappers\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": "3e6f2ac480ce398ade2fd6b5e02d00d1265f1e0f",
      "tree": "25f5589189170c20a765d4e6f0c56b42ad58ea20",
      "parents": [
        "d25f2e1235aab716c9fd6ba36c42503627a3a0e3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:30:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:28 2008 -0800"
      },
      "message": "uml: kill processes instead of panicing kernel\n\nUML was panicing in the case of failures of libc calls which shouldn\u0027t happen.\n This is an overreaction since a failure from libc doesn\u0027t normally mean that\nkernel data structures are in an unknown state.  Instead, the current process\nshould just be killed if there is no way to recover.\n\nThe case that prompted this was a failure of PTRACE_SETREGS restoring the same\nstate that was read by PTRACE_GETREGS.  It appears that when a process tries\nto load a bogus value into a segment register, it segfaults (as expected) and\nthe value is actually loaded and is seen by PTRACE_GETREGS (not expected).\n\nThis case is fixed by forcing a fatal SIGSEGV on the process so that it\nimmediately dies.  fatal_sigsegv was added for this purpose.  It was declared\nas noreturn, so in order to pursuade gcc that it actually does not return, I\nadded a call to os_dump_core (and declared it noreturn) so that I get a core\nfile if somehow the process survives.\n\nAll other calls in arch/um/os-Linux/skas/process.c got the same treatment,\nwith failures causing the process to die instead of a kernel panic, with some\nexceptions.\n\nuserspace_tramp exits with status 1 if anything goes wrong there.  That will\ncause start_userspace to return an error.  copy_context_skas0 and\nmap_stub_pages also now return errors instead of panicing.  Callers of thes\nfunctions were changed to check for errors and do something appropriate.\nUsually that\u0027s to return an error to their callers.\ncheck_skas3_ptrace_faultinfo just exits since that\u0027s too early to do anything\nelse.\n\nsave_registers, restore_registers, and init_registers now return status\ninstead of panicing on failure, with their callers doing something\nappropriate.\n\nThere were also duplicate declarations of save_registers and restore_registers\nin os.h - these are gone.\n\nI noticed and fixed up some whitespace damage.\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": "d25f2e1235aab716c9fd6ba36c42503627a3a0e3",
      "tree": "5eaabe739be50f1417707fb6eef2da75dc567a30",
      "parents": [
        "ee3d9bd4de1ed93d2a7ee41c331ed30a1c7b8acd"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:30:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:28 2008 -0800"
      },
      "message": "uml: use ptrace directly in libc code\n\nSome register accessor cleanups -\n\tuserspace() was calling restore_registers and save_registers for no\nreason, since userspace() is on the libc side of the house, and these\nadd no value over calling ptrace directly\n\tinit_thread_registers and get_safe_registers were the same thing,\nso init_thread_registers is gone\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": "ee3d9bd4de1ed93d2a7ee41c331ed30a1c7b8acd",
      "tree": "f49369c9f941066bdb8bbb2b4fd9d40bf2fda292",
      "parents": [
        "ca77b555c0aafa3070fbb67592abaaa1b8d31913"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:30:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:28 2008 -0800"
      },
      "message": "uml: simplify SIGSEGV handling\n\nSimplify the page fault stub by not masking signals while it is running.  This\nallows it to signal that it is done by executing an instruction which will\ngenerate a SIGTRAP (int3 on x86) rather than running sigreturn by hand after\nqueueing a blocked SIGUSR1.\n\nuserspace_tramp now no longer puts anything in the SIGSEGV sa_mask, but it\ndoes add SA_NODEFER to sa_flags so that SIGSEGV is still enabled after the\nsignal handler fails to run sigreturn.\n\nSIGWINCH is just blocked so that we don\u0027t have to deal with it and the signal\nmasks used by wait_stub_done are updated to reflect the smaller number of\nsignals that it has to worry about.\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": "6b7e967484f4197d799e14b844b78118e93192c6",
      "tree": "61896d643c3a4b302d709a02aa0b7c140c2d8805",
      "parents": [
        "291248fd6e371bcbfb8a77689c5d741a1527488f"
      ],
      "author": {
        "name": "Karol Swietlicki",
        "email": "magotari@gmail.com",
        "time": "Mon Feb 04 22:30:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:26 2008 -0800"
      },
      "message": "uml: convert functions to void\n\nThis patch changes a few functions into returning void.  The return values\nwere not used anyway, so I think it should not be a problem.  Also removed a\nlittle leftover bit from TT mode.\n\nSigned-off-by: Karol Swietlicki \u003cmagotari@gmail.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab8cda4347e2ffed658e522c9398932509c278bd",
      "tree": "de01014501146ae28fd5c76c0759ddd9bf1982d5",
      "parents": [
        "8299ca5ce10c9532848bd2e5526ba975f8d80d1d"
      ],
      "author": {
        "name": "Lucas Woods",
        "email": "woodzy@gmail.com",
        "time": "Mon Feb 04 22:30:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:26 2008 -0800"
      },
      "message": "arch/um: remove duplicate includes\n\nSigned-off-by: Lucas Woods \u003cwoodzy@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edea138584d7586a3b93b6d5ab5ec021d18e11e9",
      "tree": "0c5a5dd14256d675c8c64c8abdda86053f72abc8",
      "parents": [
        "0ba7fe03b638a084a4e15e21d2e585ba321ad9c8"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Feb 04 22:30:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:26 2008 -0800"
      },
      "message": "uml: tidy kern_util.h\n\nTidy kern_util.h.  It turns out that most of the function declarations\naren\u0027t used, so they can go away.  os.h no longer includes\nkern_util.h, so files which got it through os.h now need to include it\ndirectly.  A number of other files never needed it, so these includes\nare deleted.\n\nThe structure which was used to pass signal handlers from the kernel\nside to the userspace side is gone.  Instead, the handlers are\ndeclared here, and used directly from libc code.  This allows\narch/um/os-Linux/trap.c to be deleted, with its remnants being moved\nto arch/um/os-Linux/skas/trap.c.\n\narch/um/os-Linux/tty.c had its inclusions changed, and it needed some\nstyle attention, so it got tidied.\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": "c0a9290ecf0dbb89958cb3a3f78964015a7de402",
      "tree": "1a987905fe5047cd74966149fc11689713cd7bea",
      "parents": [
        "9226b8384776798986640ce07764d17ba66aa54f"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Feb 04 22:30:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:25 2008 -0800"
      },
      "message": "uml: const and other tidying\n\nThis patch also does some improvements for uml code.  Improvements include\ndropping unnecessary cast, killing some unnecessary code and still some\nconstifying for pointers etc..\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9a3072d13e4b8a6549ecc1db6390a55c7ee2ddf",
      "tree": "7b3eee2e8b71d844b27ed6a1c8d852915934e7f9",
      "parents": [
        "4d18de45fa921600e1b3770c3a7cb106ab48cd9d"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Feb 04 22:30:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:24 2008 -0800"
      },
      "message": "uml: code tidying under arch/um/os-Linux\n\nThis patch contains varied fixes and improvements for some files under\narch/um/os-Linux/, such as a typo fix in a perror message, a missing\nargument fix for a printf, some constifying for pointers and so on.\n\n[ jdike - made sigprocmask failure return -errno instead of -1 ]\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dbed85a35ed37d9608f4f32e5d69efa775d6223",
      "tree": "67ab558db8ccaf8d706a25e5ce87b78be241cffb",
      "parents": [
        "5867a78f41f84e5388448da62c183255dc22601f"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "stf_xl@wp.pl",
        "time": "Mon Dec 17 16:19:46 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:15 2007 -0800"
      },
      "message": "uml: stop gdb from deleting breakpoints when running UML\n\nSometimes when UML is debugged gdb miss breakpoints.\n\nWhen process traced by gdb do fork, debugger remove breakpoints from\nchild address space. There is possibility to trace more than one fork,\nbut this not work with UML, I guess (only guess) there is a deadlock -\ngdb waits for UML and UML waits for gdb.\n\nWhen clone() is called with SIGCHLD and CLONE_VM flags, gdb see this\nas PTRACE_EVENT_FORK not as PTRACE_EVENT_CLONE and remove breakpoints\nfrom child and at the same time from traced process, because either\nhave the same address space.\n\nMaybe it is possible to do fix in gdb, but I\u0027m not sure if there is\neasy way to find out if traced and child processes share memory. So I\ndo fix for UML, it simply do not call clone() with both SIGCHLD and\nCLONE_VM flags together.  Additionally __WALL flag is used for\nwaitpid() to assure not miss clone and normal process events.\n\n[ jdike - checkpatch fixes ]\n\nSigned-off-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a765329ed656ef08915c8be4aba9031ba467ee4",
      "tree": "06fda066d6206674a650339ac1bfaaad4e3b632a",
      "parents": [
        "b00296fb781acfafa93687000cdef72b8922bb40"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Dec 01 12:16:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 03 08:13:17 2007 -0800"
      },
      "message": "uml: after_sleep_interval should return something\n\nI forgot to have an int-returning function actually return something.\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": "364e3a3d8a26aae058cf1c257457ad1f6b1cfe4c",
      "tree": "1e5c04d671c5fcc8c2e25c37b08378e95a7e4e11",
      "parents": [
        "9fc89c2dea7ca7915e6606e49167cdca2f3c4e30"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Nov 28 16:21:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:53 2007 -0800"
      },
      "message": "uml: fix !NO_HZ busy-loop\n\nWith NO_HZ disabled, the UML idle loop effectively becomes a busy loop, as\nit will sleep for no time.\n\nThe cause was forgetting to restart the tick after waking up from sleep.\nIt was disabled before sleeping, and the remaining time used as the\ninterval to sleep.  So, the tick needs to be restarted when nanosleep\nfinishes.\n\nThis is done by introducing after_sleep_interval, which is empty in the\nNO_HZ case, but which sets the tick starting in the !NO_HZ case.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4d5d205b653fe68c898d42e7a27a7363a4fb3ba",
      "tree": "2a453594731bf41e7ac41f3205c4819449b534e8",
      "parents": [
        "df9d177aa28d50e64bae6fbd6b263833079e3571"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Nov 14 16:58:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:37 2007 -0800"
      },
      "message": "uml: fix recvmsg return value checking\n\nStupid bug - we need to compare the return value of recvmsg to the value of\niov_len, not its size.  This caused port_helper processes not to be killed on\nshutdown on x86_64 because the pids weren\u0027t being passed out properly.\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": "a24864a1d52a97e345a6bd4862a057f98364d098",
      "tree": "a1c07cfa857d818d4a58217fdec40d765d349a4f",
      "parents": [
        "cb8fa61c2b8b29d422d7310f064d60022f18f89b"
      ],
      "author": {
        "name": "Lepton Wu",
        "email": "ytht.net@gmail.com",
        "time": "Tue Oct 16 01:27:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:09 2007 -0700"
      },
      "message": "uml: definitively kill subprocesses on panic\n\nIn a stock 2.6.22.6 kernel, poweroff a user mode linux guest (2.6.22.6 running\nin skas0 mode) will halt the host linux.  I think the reason is the kernel\nthread abort because of a bug.  Then the sys_reboot in process of user mode\nlinux guest is not trapped by the user mode linux kernel and is executed by\nhost.  I think it is better to make sure all of our children process to quit\nwhen user mode linux kernel abort.\n\n[ jdike - the kernel process needs to ignore SIGTERM, plus the waitpid/kill\nloop is needed to make sure that all of our children are dead before the\nkernel exits ]\n\nSigned-off-by: Lepton Wu \u003cytht.net@gmail.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54ae36f24b103e521dd683f66fe72b0584ccb7e2",
      "tree": "1504968363c0935479ebd28e710562d8046dd884",
      "parents": [
        "605c1e57690fddbd11347ec6788ff77c527994dd"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:09 2007 -0700"
      },
      "message": "uml: fix stub address calculations\n\nThe calculation of CONFIG_STUB_CODE and CONFIG_STUB_DATA didn\u0027t take into\naccount anything but 3G/1G and 2G/2G, leaving the other vmsplits out in the\ncold.\n\nI\u0027d rather not duplicate the four known host vmsplit cases for each of these\nsymbols.  I\u0027d also like to calculate them based on the highest userspace\naddress.\n\nThe Kconfig language seems not to allow calculation of hex constants, so I\nmoved this to as-layout.h.  CONFIG_STUB_CODE, CONFIG_STUB_DATA, and\nCONFIG_STUB_START are now gone.  In their place are STUB_CODE, STUB_DATA, and\nSTUB_START in as-layout.h.\n\ni386 and x86_64 seem to differ as to whether an unadorned constant is an int\nor a long, so I cast them to unsigned long so they can be printed\nconsistently.  However, they are also used in stub.S, where C types don\u0027t work\nso well.  So, there are ASM_ versions of these constants for use in stub.S.  I\nalso ifdef-ed the non-asm-friendly portion of as-layout.h.\n\nWith this in place, most of the rest of this patch is changing CONFIG_STUB_*\nto STUB_*, except in stub.S, where they are changed to ASM_STUB_*.\n\ndefconfig has the old symbols deleted.\n\nI also print these addresses out in case there is any problem mapping them on\nthe host.\n\nThe two stub.S files had some trailing whitespace, so that is cleaned up here.\n\n[akpm@linux-foundation.org: coding-style fixes]\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": "b53f35a8093e6aed7e8e880eaa0b89a3d2fdfb0a",
      "tree": "50e19688753650e27b1f7fc1d48eb8683666e6b7",
      "parents": [
        "cd1ae0e49bdd814cfaa2e5ab28cff21a30e20085"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: network driver MTU cleanups\n\nA bunch of MTU-related cleanups in the network code.\n\nFirst, there is the addition of the notion of a maximally-sized packet, which\nis the MTU plus headers.  This is used to size the skb that will receive a\npacket.  This allows ether_adjust_skb to go away, as it was used to resize the\nskb after it was allocated.\n\nSince the skb passed into the low-level read routine is no longer resized, and\npossibly reallocated, there, they (and the write routines) don\u0027t need to get\nan sk_buff **.  They just need the sk_buff * now.  The callers of\nether_adjust_skb still need to do the skb_put, so that\u0027s now inlined.\n\nThe MAX_PACKET definitions in most of the drivers are gone.\n\nThe set_mtu methods were all the same and did nothing, so they can be\nremoved.\n\nThe ethertap driver had a typo which doubled the size of the packet rather\nthan adding two bytes to it.  It also wasn\u0027t defining its setup_size, causing\na zero-byte kmalloc and crash when the invalid pointer returned from kmalloc\nwas dereferenced.\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": "cd1ae0e49bdd814cfaa2e5ab28cff21a30e20085",
      "tree": "1b993b9de4cb9a8578022a4014063c3e87ec996e",
      "parents": [
        "1a80521990a0e30e61a92994a009adc52161b070"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: network formatting\n\nStyle and other non-functional changes in the UML networking code, including\n\tinclude tidying\n\tstyle violations\n\tcopyright updates\n\tprintks getting severities\n\tuserspace code calling libc directly rather than using the os_*\nwrappers\n\nThere\u0027s also a exit path cleanup in the pcap driver.\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": "1a80521990a0e30e61a92994a009adc52161b070",
      "tree": "3cf900adf9383ff68fd66cd74cfaf0e0ce483845",
      "parents": [
        "61b63c556c0877ee6d3832ee641bc427ff4d94d6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: use *SEC_PER_*SEC constants\n\nThere are various uses of powers of 1000, plus the odd BILLION constant in the\ntime code.  However, there are perfectly good definitions of *SEC_PER_*SEC in\nlinux/time.h which can be used instaed.\n\nThese are replaced directly in kernel code.  Userspace code imports those\nconstants as UM_*SEC_PER_*SEC and uses these.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61b63c556c0877ee6d3832ee641bc427ff4d94d6",
      "tree": "e35a047a7b11f349d3d68ac18639bc33801ec001",
      "parents": [
        "5f734614fc6218db352d26571ab4d1604620199c"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: eliminate SIGALRM\n\nNow that ITIMER_REAL is no longer used, there is no need for any use of\nSIGALRM whatsoever.  This patch removes all mention of it.\n\nIn addition, real_alarm_handler took a signal argument which is now always\nSIGVTALRM.  So, that is gone.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f734614fc6218db352d26571ab4d1604620199c",
      "tree": "ff1323d87862c0522ef83568543f46b46eac941a",
      "parents": [
        "b160fb6309dc907cbd8849e549d83badb86dd35b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: time build fix\n\nPut back an implementation of timeval_to_ns in arch/um/os-Linux/time.c.\ntglx pointed out in his review of tickless support that there was a\nperfectly good implementation of it in linux/time.h.  The problem is that\nthis is userspace code which can\u0027t pull in kernel headers and there doesn\u0027t\nseem to be a libc version.\n\nSo, I\u0027m copying the version from linux/time.h rather than resurrecting my\nversion.  This causes some declaration changes as it now returns a signed\nvalue rather than an unsigned value.\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": "b160fb6309dc907cbd8849e549d83badb86dd35b",
      "tree": "b4a69cc1b96b4aa83aa971c35af5a23e5e07b56f",
      "parents": [
        "d2753a6d199791a6abc75d9f657e3457fe61705f"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: eliminate interrupts in the idle loop\n\nNow, the idle loop now longer needs SIGALRM firing - it can just sleep for the\nrequisite amount of time and fake a timer interrupt when it finishes.\n\nAny use of ITIMER_REAL now goes away.  disable_timer only turns off\nITIMER_VIRTUAL.  switch_timers is no longer needed, so it, and all calls, goes\naway.\n\ndisable_timer now returns the amount of time remaining on the timer.\ndefault_idle uses this to tell idle_sleep how long to sleep.  idle_sleep will\ncall alarm_handler if nanosleep returns 0, which is the case if it didn\u0027t\nreturn early due to an interrupt.  Otherwise, it just returns.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2753a6d199791a6abc75d9f657e3457fe61705f",
      "tree": "c4cda30f216d6c045ca2b83bee1fa6bc4dfc3de3",
      "parents": [
        "791a644a8d73a9b95515f074afbb3caa0a9964fa"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: tickless support\n\nEnable tickless support.\n\nCONFIG_TICK_ONESHOT and CONFIG_NO_HZ are enabled.\n\nitimer_clockevent gets CLOCK_EVT_FEAT_ONESHOT and an implementation of\n.set_next_event.\n\nCONFIG_UML_REAL_TIME_CLOCK goes away because it only makes sense when there is\na clock ticking away all the time.  timer_handler now just calls do_IRQ once\nwithout trying to figure out how many ticks to emulate.\n\nThe idle loop now needs to turn ticking on and off.\n\nUserspace ticks keep happening as usual.  However, the userspace loop keep\ntrack of when the next wakeup should happen and suppresses process ticks until\nthat happens.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31ccc1f524b626abcf5e043ad32b881219223c34",
      "tree": "419284a887fad9dab58969531cf6c53ca0402944",
      "parents": [
        "d83d2aa9485d996cfd89f04389b419c6727faacb"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: GENERIC_CLOCKEVENTS support\n\nEnable CONFIG_GENERIC_CLOCKEVENTS.\n\ntimer_irq gets its name changed to timer_handler, and becomes the recipient of\ntimer signals.\n\nThe clock_event_device is set up to imitate the current ticking clock, i.e.\nCLOCK_EVT_FEAT_ONESHOT is not enabled yet.\n\ndisable_timer now doesn\u0027t ignore SIGALRM and SIGVTALRM because that breaks\ndelay calibration.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78a26e25ce4837a03ac3b6c32cdae1958e547639",
      "tree": "d50a46a1af87f62781c2eb781cd7e20cea20e5ff",
      "parents": [
        "a2f018bf389422a55f1455ab8b9b5eedc5ea1803"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: separate timer initialization\n\nMove timer signal initialization from init_irq_signals to a new function,\ntimer_init.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2f018bf389422a55f1455ab8b9b5eedc5ea1803",
      "tree": "50f93a3c8892a89fbc981a7ac8d3566131f9fb84",
      "parents": [
        "181bde801afae4304843ce95c868d4419ae87310"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: simplify interval setting\n\nset_interval took a timer type as an argument, but it always specified a\nvirtual timer.  So, it is not needed, and it is gone, and set_interval is\nsimplified appropriately.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "181bde801afae4304843ce95c868d4419ae87310",
      "tree": "f33e6c88e36cda7699fc2dfe2b6ac9ccb3c6963f",
      "parents": [
        "532d0fa4d104ca3e37dd38bc5073376fcc3c2712"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: fix timer switching\n\nFix up the switching between virtual and real timers.  The idle loop sleeps,\nso the timer at that point must be real time.  At all other times, the timer\nmust be virtual.  Even when userspace is running, and the kernel is asleep,\nthe virtual timer is correct because the process timer will be running and the\nprocess timer will be firing.\n\nThe timer switch used to be in the context switch and timer handler code.\nThis is moved to the idle loop and the signal handler, making it much more\nclear why it is happening.\n\nswitch_timers now returns the old timer type so that it may be restored.  The\nsignal handler uses this in order to restore the previous timer type when it\nreturns.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "532d0fa4d104ca3e37dd38bc5073376fcc3c2712",
      "tree": "a2ece8d09bc22a616abd743c170b2a727c1d077e",
      "parents": [
        "088bec4141ceb663eecdd961292d110db891db73"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:08 2007 -0700"
      },
      "message": "uml: eliminate hz()\n\nEliminate hz() since its only purpose was to provide a kernel-space constant\nto userspace code.  This can be done instead by providing the constant\ndirectly through kernel_constants.h.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92128504f9c48cca3e31860c98bd1292142db288",
      "tree": "2c94b1c3fbdb64cb807af2b54e1014deab4ed7af",
      "parents": [
        "da2486ba2c3e6ce409324a2e88f335d13271439b"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:07 2007 -0700"
      },
      "message": "uml: remove unused file\n\narch/um/os-Linux/tt.c is no longer used.\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": "f0c4cad99c12f08cb2a6cd0255911b2a93c57707",
      "tree": "1687ef2577bc7429955e8642fe8340ff2292817c",
      "parents": [
        "54fa0ba40698af6d6735ade024293bb51cc4d4b3"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:07 2007 -0700"
      },
      "message": "uml: style fixes in FP code\n\nTidy the code affected by the floating point fixes.\n\nA bunch of unused stuff is gone, including two sigcontext.c files,\nwhich turned out to be entirely unneeded.\n\nThere are the usual fixes -\n\twhitespace and style cleanups\n\tcopyright updates\n\temacs formatting comments gone\n\tinclude cleanups\n\tadding severities to printks\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": "a5f6096c805e6d2fa03ee932f8c70af34cee41a0",
      "tree": "c74d984c0e2fc2958425df65605dd3451adc6520",
      "parents": [
        "189872f968def833727b6bfef83ebd7440c538e6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:07 2007 -0700"
      },
      "message": "uml: floating point signal delivery fixes\n\nHandle floating point state in across signals correctly.  UML/i386 needs to\nknow whether the host does PTRACE_[GS]ETFPXREGS, so an arch_init_registers\nhook is added, which on x86_64 does nothing.\n\nUML doesn\u0027t save and restore floating point registers on kernel entry and\nexit, so they need to be copied between the host process and the sigcontext.\nsave_fpx_registers and restore_fpx_registers are added for this purpose.\nsave_fp_registers and restore_fp_registers already exist.\n\nThere was a bunch of floating point state conversion code in\narch/um/sys-i386/ptrace.c which isn\u0027t needed there, but is needed in signal.c,\nso it is moved over.\n\nThe i386 code now distinguishes between fp and fpx state and handles them\ncorrectly.  The x86_64 code just needs to copy state as-is between the host\nprocess and the stack.  There are also some fixes there to pass the correct\naddress of the floating point state around.\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": "512b6fb1c14d4c34f23a3419b0789ad01914a899",
      "tree": "29e51c256dde41db297cff28767bf4dc4a1dc73f",
      "parents": [
        "b21d4b08b6686fa13bf9d4cae1ae08cb23ea3d53"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:06 2007 -0700"
      },
      "message": "uml: userspace files should call libc directly\n\nA number of files that were changed in the recent removal of tt mode\nare userspace files which call the os_* wrappers instead of calling\nlibc directly.  A few other files were affected by this, through\n\nThis patch makes these call glibc directly.\n\nThere are also style fixes in the affected areas.\n\nos_print_error has no remaining callers, so it is deleted.\n\nThere is a interface change to os_set_exec_close, eliminating a\nparameter which was always the same.  The callers are fixed as well.\n\nos_process_pc got its error path cleaned up.\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": "3cdaf45578b9aa1eb748d0a32678ee5a0180575b",
      "tree": "c31ec1a650ae7378215b446f12431a736d5d6d67",
      "parents": [
        "8ca842c4b5cbc70b9180617e9f26b6ac9f40dbb9"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:06 2007 -0700"
      },
      "message": "uml: replace clone with fork\n\nConvert the boot-time host ptrace testing from clone to fork.  They were\nessentially doing fork anyway.  This cleans up the code a bit, and makes\nvalgrind a bit happier about grinding it.\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": "8ca842c4b5cbc70b9180617e9f26b6ac9f40dbb9",
      "tree": "fe3e4deeae82c7063a72ecb3fdcae47422d6de0e",
      "parents": [
        "28078e8f9790be0854a54f06de822689ab571944"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:06 2007 -0700"
      },
      "message": "uml: remove os_* usage from userspace files\n\nThis patch fixes some userspace files which were calling libc through the os_*\nwrappers.\n\nIt turns out that there was only one user of os_new_tty_pgrp, so it can be\ndeleted.\n\nThere are also some style and whitespace fixes in here.\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": "18badddaa84e13e126f4ca5df47ac55b97a2635a",
      "tree": "c57bee27c8144481a59546fcbd8487d9486c6a54",
      "parents": [
        "6c738ffa9fea6869f5d51882dfefbba746e432b1"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:06 2007 -0700"
      },
      "message": "uml: rename pt_regs general-purpose register file\n\nBefore the removal of tt mode, access to a register on the skas-mode side of a\npt_regs struct looked like pt_regs.regs.skas.regs.regs[FOO].  This was bad\nenough, but it became pt_regs.regs.regs.regs[FOO] with the removal of the\nunion from the middle.  To get rid of the run of three \"regs\", the last field\nis renamed to \"gp\".\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": "fab95c55e3b94e219044dc7a558632d08c198771",
      "tree": "2ce8bf6eb52e66ee69a0b03cf9ad60310279524e",
      "parents": [
        "0a7675aa204ac2470bb06f562557978b03914a71"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:05 2007 -0700"
      },
      "message": "uml: get rid of do_longjmp\n\ndo_longjmp used to be needed when UML didn\u0027t have its own implementation of\nsetjmp and longjmp.  They came from libc, and couldn\u0027t be called directly from\nkernel code, as the libc jmp_buf couldn\u0027t be imported there.  do_longjmp was a\nuserspace function which served to provide longjmp access to kernel code.\n\nThis is gone, and a number of void * pointers can now be jmp_buf *.\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": "0a7675aa204ac2470bb06f562557978b03914a71",
      "tree": "fa1ce4cf6d3546b57719f3fdd2b1cf891f5be52f",
      "parents": [
        "ba180fd437156f7fd8cfb2fdd021d949eeef08d6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:05 2007 -0700"
      },
      "message": "uml: remove __u64 usage from physical memory subsystem\n\nEliminate some uses of __u64 in the physical memory support.  It\u0027s hard to get\na definition of __u64 in both kernel and userspace code on x86_64, so this\nchanges them to unsigned long long.\n\nThere are also a copyright update and formatting comment removal from the\naffected header.\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": "ba180fd437156f7fd8cfb2fdd021d949eeef08d6",
      "tree": "b9f38b9cdd7a5b1aacf00341d1948314663c5871",
      "parents": [
        "77bf4400319db9d2a8af6b00c2be6faa0f3d07cb"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:27:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:05 2007 -0700"
      },
      "message": "uml: style fixes pass 3\n\nFormatting changes in the files which have been changed in the course\nof folding foo_skas functions into their callers.  These include:\n\tcopyright updates\n\theader file trimming\n\tstyle fixes\n\tadding severity to printks\n\nThese changes should be entirely non-functional.\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": "77bf4400319db9d2a8af6b00c2be6faa0f3d07cb",
      "tree": "ddc8fd48349b8d4dd2c0b26bce7f52f79b4e4077",
      "parents": [
        "ae2587e41254e48e670346aefa332d7469d86352"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:26:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:05 2007 -0700"
      },
      "message": "uml: remove code made redundant by CHOOSE_MODE removal\n\nThis patch makes a number of simplifications enabled by the removal of\nCHOOSE_MODE.  There were lots of functions that looked like\n\n\tint foo(args){\n\t\tfoo_skas(args);\n\t}\n\nThe bodies of foo_skas are now folded into foo, and their declarations (and\nsometimes entire header files) are deleted.\n\nIn addition, the union uml_pt_regs, which was a union between the tt and skas\nregister formats, is now a struct, with the tt-mode arm of the union being\nremoved.\n\nIt turns out that usr2_handler was unused, so it is gone.\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": "6aa802ce6acc9b1f0b34114b3f7c21c84872cc3a",
      "tree": "74523303349693ef482dec4a1d803566b69c6abd",
      "parents": [
        "4c9e13851315a25a705e7a686116e491041ca228"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:26:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:05 2007 -0700"
      },
      "message": "uml: throw out CHOOSE_MODE\n\nThe next stage after removing code which depends on CONFIG_MODE_TT is removing\nthe CHOOSE_MODE abstraction, which provided both compile-time and run-time\nbranching to either tt-mode or skas-mode code.\n\nThis patch removes choose-mode.h and all inclusions of it, and replaces all\nCHOOSE_MODE invocations with the skas branch.  This leaves a number of trivial\nfunctions which will be dealt with in a later patch.\n\nThere are some changes in the uaccess and tls support which go somewhat beyond\nthis and eliminate some of the now-redundant functions.\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": "4c9e13851315a25a705e7a686116e491041ca228",
      "tree": "a323e1dcfe89f6c9d7e873a1bf2ad7aab9cdb9e6",
      "parents": [
        "c28b59d4779a43e9b7e786c7004cbee8fab1527d"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:26:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:05 2007 -0700"
      },
      "message": "uml: style fixes pass 1\n\nFormatting changes in the files which have been changed in the\ntt-removal patchset so far.  These include:\n\tcopyright updates\n\theader file trimming\n\tstyle fixes\n\tadding severity to printks\n\tindenting Kconfig help according to the predominant kernel style\n\nThese changes should be entirely non-functional.\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": "42fda66387daa53538ae13a2c858396aaf037158",
      "tree": "77955a91a958fde7be47cb0ff23ac9e1248217db",
      "parents": [
        "a1ff5878d2628bbe1e42821c024c96f48318f683"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:26:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:05 2007 -0700"
      },
      "message": "uml: throw out CONFIG_MODE_TT\n\nThis patchset throws out tt mode, which has been non-functional for a while.\n\nThis is done in phases, interspersed with code cleanups on the affected files.\n\nThe removal is done as follows:\n\tremove all code, config options, and files which depend on\nCONFIG_MODE_TT\n\tget rid of the CHOOSE_MODE macro, which decided whether to\ncall tt-mode or skas-mode code, and replace invocations with their\nskas portions\n\treplace all now-trivial procedures with their skas equivalents\n\nThere are now a bunch of now-redundant pieces of data structures, including\nmode-specific pieces of the thread structure, pt_regs, and mm_context.  These\nare all replaced with their skas-specific contents.\n\nAs part of the ongoing style compliance project, I made a style pass over all\nfiles that were changed.  There are three such patches, one for each phase,\ncovering the files affected by that phase but no later ones.\n\nI noticed that we weren\u0027t freeing the LDT state associated with a process when\nit exited, so that\u0027s fixed in one of the later patches.\n\nThe last patch is a tidying patch which I\u0027ve had for a while, but which caused\ninexplicable crashes under tt mode.  Since that is no longer a problem, this\ncan now go in.\n\nThis patch:\n\nStart getting rid of tt mode support.\n\nThis patch throws out CONFIG_MODE_TT and all config options, code, and files\nwhich depend on it.\n\nCONFIG_MODE_SKAS is gone and everything that depends on it is included\nunconditionally.\n\nThe few changed lines are in re-written Kconfig help, lines which needed\nsomething skas-related removed from them, and a few more which weren\u0027t\nstrictly deletions.\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": "42daba316557e597a90a730f61c762602b7f0e0c",
      "tree": "9b7e9da84cef7d2547c577f1cf94b408cf308619",
      "parents": [
        "5c8aaceab88ac787c0a4038b29143c954c2a45e0"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:26:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:05 2007 -0700"
      },
      "message": "uml: stop saving process FP state\n\nThrow out a lot of code dealing with saving and restoring floating-point\nstate.  In skas mode, where processes run in a restoring floating-point state\non kernel entry and exit is pointless.\n\nThis eliminates most of arch/um/os-Linux/sys-{i386,x86_64}/registers.c.  Most\nof what remained is now arch-indpendent, and can be moved up to\narch/um/os-Linux/registers.c.  Both arches need the jmp_buf accessor\nget_thread_reg, and i386 needs {save,restore}_fp_regs because it cheats during\nsigreturn by getting the fp state using ptrace rather than copying it out of\nthe process sigcontext.\n\nAfter this, it turns out that arch/um/include/skas/mode-skas.h is almost\ncompletely unneeded.  The declarations in it are variables which either don\u0027t\nexist or which don\u0027t have global scope.  The one exception is\nkill_off_processes_skas.  If that\u0027s removed, this header can be deleted.\n\nThis uncovered a bug in user.h, which wasn\u0027t correctly making sure that a\nsize_t definition was available to both userspace and kernelspace files.\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": "71f926f2ea61994470a53c9e11d3ef993197cada",
      "tree": "731d5ce6d0be171f693a1c0960f752a5b8e708fc",
      "parents": [
        "2f8a2dc2cf8012179e35c1f01a1eef45de18f1a7"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:26:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:04 2007 -0700"
      },
      "message": "uml: stop using libc asm/page.h\n\nRemove includes of asm/page.h from libc code.  This header seems to be\ndisappearing, and UML doesn\u0027t make much use of it anyway.\n\nThe one use, PAGE_SHIFT in stub.h, is handled by copying the constant from the\nkernel side of the house in common_offsets.h.\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": "8e2d10e1e76d894ec73d66dd63b641ccf5f5fb67",
      "tree": "5ae54e7ecfd3b8fca96aa59890b0c0007c4fd242",
      "parents": [
        "89fe64766ab76b02c65a806b8b5a864652493bd6"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Tue Oct 16 01:26:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:04 2007 -0700"
      },
      "message": "uml: tidy recently-moved code\n\nNow that the generic console operations are in a userspace file, we\ncan do the following:\n\tdirectly call into libc instead of through the os_* wrappers\n\teliminate os_window_size since it has only one user\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": "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"
    }
  ],
  "next": "a6ea4cceed18edebe1eb6001cb9e0f88cd741a6c"
}
