)]}'
{
  "log": [
    {
      "commit": "95608261dae863bc43292e6fbd946a3abd3aa49f",
      "tree": "4895bdd59f5d763bff9d1ea035e503b90b9c2e52",
      "parents": [
        "8412205838ae92489ab2f029687659b056dd96ff"
      ],
      "author": {
        "name": "viro@ZenIV.linux.org.uk",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Tue Sep 06 22:33:51 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 17:17:33 2005 -0700"
      },
      "message": "[PATCH] bogus symbol used in arch/um/os-Linux/elf_aux.c\n\nelf_aux is userland code; it uses symbol (ELF_CLASS) that doesn\u0027t exist in\nuserland headers; pulled into kernel-offsets.h, switched elf_aux to using it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "07bf731e4b95d7c9ea9dbacd1fc4a041120dfffb",
      "tree": "25ae7f2000421d45e484abac0b7252809476c0d0",
      "parents": [
        "8b51304ed3184826fb262c1e9d3e58b0b00fd083"
      ],
      "author": {
        "name": "Bodo Stroesser",
        "email": "bstroesser@fujitsu-siemens.com",
        "time": "Sat Sep 03 15:57:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:24 2005 -0700"
      },
      "message": "[PATCH] uml: skas0 stubs now check system call return values\n\nChange syscall-stub\u0027s data to include a \"expected retval\".\n\nStub now checks syscalls retval and aborts execution of syscall list, if\nretval !\u003d expected retval.\n\nrun_syscall_stub prints the data of the failed syscall, using the data pointer\nand retval written by the stub to the beginning of the stack.\n\none_syscall_stub is removed, to simplify code, because only some instructions\nare saved by one_syscall_stub, no host-syscall.\n\nUsing the stub with additional data (modify_ldt via stub)\nis prepared also.\n\nSigned-off-by: Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "30f7dabb083f8ff4ce541b5ac4e5d70cc173051a",
      "tree": "d4d457762926f694e6d12db8ff781d04ca31172d",
      "parents": [
        "e32dacb9f481fd6decb41adb28e720c923d34f54"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Sat Sep 03 15:57:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:23 2005 -0700"
      },
      "message": "[PATCH] uml: build cleanups\n\nAdded missing include list to uml AFLAGS\n\nKilled magic for stubs.  [So] - it was needed only because of messed AFLAGS\nSwitched segv_stubs.c to kernel CFLAGS sans profile, instead of user ones\nKilled STUBS_CFLAGS - it\u0027s not needed and the only remaining use had been\ngratitious - it only polluted CFLAGS\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c56004901fa5dcf55f92318f192ab3c0e87db2d1",
      "tree": "ac53ded16ab9886ce05d4b2d424dfed80dce9e57",
      "parents": [
        "77fa5adcda6d686d2f45a2b55dcb9a03e7d33fa1"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Sep 03 15:57:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:22 2005 -0700"
      },
      "message": "[PATCH] uml: TLB operation batching\n\nThis adds VM op batching to skas0.  Rather than having a context switch to and\nfrom the userspace stub for each address space change, we write a number of\noperations to the stub data page and invoke a different stub which loops over\nthem and executes them all in one go.\n\nThe operations are stored as [ system call number, arg1, arg2, ... ] tuples.\n\nThe set is terminated by a system call number of 0.  Single operations, i.e.\npage faults, are handled in the old way, since that is slightly more\nefficient.\n\nFor a kernel build, a minority (~1/4) of the operations are part of a set.\nThese sets averaged ~100 in length, so for this quarter, the context switching\noverhead is greatly reduced.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93ea5a5b5c71ddbefd4082627d8f33e4bc038a6f",
      "tree": "59e759fdfba04c7ed4a13cffa716f6f0272c5494",
      "parents": [
        "ec7cf783dd6cf5c8fb6b6767560686ed28d1cd6d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Sat Sep 03 15:57:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:22 2005 -0700"
      },
      "message": "[PATCH] uml: build cleanup\n\nBuild cleanups\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e54a5dfb960053437f464a7ce372a8acc293fdcb",
      "tree": "01432a58e039716ab0a02347a027e84da10c370f",
      "parents": [
        "3b52166cf72f0826c6d8fa0541c7d4ae39c5a146"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Sat Sep 03 15:57:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:21 2005 -0700"
      },
      "message": "[PATCH] uml: fix signal frame copy_user\n\nThe copy_user stuff in the signal frame code was broke.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9057e9deee648cb2824d83b9eb7058edb5442a21",
      "tree": "3068f40bdee9b5bae16615b51275bdbf7b978d4a",
      "parents": [
        "6f313b12335abf010802751c45249e7a0007a232"
      ],
      "author": {
        "name": "Bodo Stroesser",
        "email": "bstroesser@fujitsu-siemens.com",
        "time": "Thu Jul 28 21:16:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 28 21:46:04 2005 -0700"
      },
      "message": "[PATCH] uml: Fix skas0 stub return\n\nIt\u0027s wrong to pop a fixed number of words from stack before calling sigreturn,\nas the number depends on what code is generated by the compiler for the start\nof stub_segv_handler().  What we need is esp containing the address of\nsigcontext.  So we explicitly load that pointer into esp.\n\nSigned-off-by: Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e5e55923e315e8198f46f24f7ca37e1fd9aa102",
      "tree": "251aa6211d8d822350bed40cc021c9bf710110a6",
      "parents": [
        "1feb8d2d7396748fb3bd6795d09bbfbdd4c03dff"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Jul 14 00:33:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 14 09:00:24 2005 -0700"
      },
      "message": "[PATCH] uml: consolidate modify_ldt\n\n*) Reorganize the two cases of sys_modify_ldt to share all the reasonably\n   common code.\n\n*) Avoid memory allocation when unneeded (i.e.  when we are writing and the\n   passed buffer size is known), thus not returning ENOMEM (which isn\u0027t\n   allowed for this syscall, even if there is no strict \"specification\").\n\n*) Add copy_{from,to}_user to modify_ldt for TT mode.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1feb8d2d7396748fb3bd6795d09bbfbdd4c03dff",
      "tree": "73d7dbb979a107859fb40730555cb10ca6b4cbbb",
      "parents": [
        "bcb01b8a67476e6f748086e626df8424cc27036d"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu Jul 14 00:33:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 14 09:00:24 2005 -0700"
      },
      "message": "[PATCH] uml: workaround host bug in \"TT mode vs. NPTL link fix\"\n\nA big bug has been diagnosed on hosts running the SKAS patch and built with\nCONFIG_REGPARM, due to some missing prevent_tail_call().\n\nOn these hosts, this workaround is needed to avoid triggering that bug,\nbecause \"to\" is kept by GCC only in EBX, which is corrupted at the return of\nmmap2().\n\nSince to trigger this bug int 0x80 must be used when doing the call, it rarely\nmanifests itself, so I\u0027d prefer to get this merged to workaround that host\nbug, since it should cause no functional change.  Still, you might prefer to\ndrop it, I\u0027ll leave this to you.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d67b569f5f620c0fb95d5212642746b7ba9d29e4",
      "tree": "c7ef10c906dd83911e10988c6cea6d7d5644e072",
      "parents": [
        "1322ad41513f8f9196801f53cc0851df056f3478"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu Jul 07 17:56:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:44 2005 -0700"
      },
      "message": "[PATCH] uml: skas0 - separate kernel address space on stock hosts\n\nUML has had two modes of operation - an insecure, slow mode (tt mode) in\nwhich the kernel is mapped into every process address space which requires\nno host kernel modifications, and a secure, faster mode (skas mode) in\nwhich the UML kernel is in a separate host address space, which requires a\npatch to the host kernel.\n\nThis patch implements something very close to skas mode for hosts which\ndon\u0027t support skas - I\u0027m calling this skas0.  It provides the security of\nthe skas host patch, and some of the performance gains.\n\nThe two main things that are provided by the skas patch, /proc/mm and\nPTRACE_FAULTINFO, are implemented in a way that require no host patch.\n\nFor the remote address space changing stuff (mmap, munmap, and mprotect),\nwe set aside two pages in the process above its stack, one of which\ncontains a little bit of code which can call mmap et al.\n\nTo update the address space, the system call information (system call\nnumber and arguments) are written to the stub page above the code.  The\n%esp is set to the beginning of the data, the %eip is set the the start of\nthe stub, and it repeatedly pops the information into its registers and\nmakes the system call until it sees a system call number of zero.  This is\nto amortize the cost of the context switch across multiple address space\nupdates.\n\nWhen the updates are done, it SIGSTOPs itself, and the kernel process\ncontinues what it was doing.\n\nFor a PTRACE_FAULTINFO replacement, we set up a SIGSEGV handler in the\nchild, and let it handle segfaults rather than nullifying them.  The\nhandler is in the same page as the mmap stub.  The second page is used as\nthe stack.  The handler reads cr2 and err from the sigcontext, sticks them\nat the base of the stack in a faultinfo struct, and SIGSTOPs itself.  The\nkernel then reads the faultinfo and handles the fault.\n\nA complication on x86_64 is that this involves resetting the registers to\nthe segfault values when the process is inside the kill system call.  This\nbreaks on x86_64 because %rcx will contain %rip because you tell SYSRET\nwhere to return to by putting the value in %rcx.  So, this corrupts $rcx on\nreturn from the segfault.  To work around this, I added an\narch_finish_segv, which on x86 does nothing, but which on x86_64 ptraces\nthe child back through the sigreturn.  This causes %rcx to be restored by\nsigreturn and avoids the corruption.  Ultimately, I think I will replace\nthis with the trick of having it send itself a blocked signal which will be\nunblocked by the sigreturn.  This will allow it to be stopped just after\nthe sigreturn, and PTRACE_SYSCALLed without all the back-and-forth of\nPTRACE_SYSCALLing it through sigreturn.\n\nThis runs on a stock host, so theoretically (and hopefully), tt mode isn\u0027t\nneeded any more.  We need to make sure that this is better in every way\nthan tt mode, though.  I\u0027m concerned about the speed of address space\nupdates and page fault handling, since they involve extra round-trips to\nthe child.  We can amortize the round-trip cost for large address space\nupdates by writing all of the operations to the data page and having the\nchild execute them all at the same time.  This will help fork and exec, but\nnot page faults, since they involve only one page.\n\nI can\u0027t think of any way to help page faults, except to add something like\nPTRACE_FAULTINFO to the host.  There is PTRACE_SIGINFO, but UML doesn\u0027t use\nsiginfo for SIGSEGV (or anything else) because there isn\u0027t enough\ninformation in the siginfo struct to handle page faults (the faulting\noperation type is missing).  Adding that would make PTRACE_SIGINFO a usable\nequivalent to PTRACE_FAULTINFO.\n\nAs for the code itself:\n\n- The system call stub is in arch/um/kernel/sys-$(SUBARCH)/stub.S.  It is\n  put in its own section of the binary along with stub_segv_handler in\n  arch/um/kernel/skas/process.c.  This is manipulated with run_syscall_stub\n  in arch/um/kernel/skas/mem_user.c.  syscall_stub will execute any system\n  call at all, but it\u0027s only used for mmap, munmap, and mprotect.\n\n- The x86_64 stub calls sigreturn by hand rather than allowing the normal\n  sigreturn to happen, because the normal sigreturn is a SA_RESTORER in\n  UML\u0027s address space provided by libc.  Needless to say, this is not\n  available in the child\u0027s address space.  Also, it does a couple of odd\n  pops before that which restore the stack to the state it was in at the\n  time the signal handler was called.\n\n- There is a new field in the arch mmu_context, which is now a union.\n  This is the pid to be manipulated rather than the /proc/mm file\n  descriptor.  Code which deals with this now checks proc_mm to see whether\n  it should use the usual skas code or the new code.\n\n- userspace_tramp is now used to create a new host process for every UML\n  process, rather than one per UML processor.  It checks proc_mm and\n  ptrace_faultinfo to decide whether to map in the pages above its stack.\n\n- start_userspace now makes CLONE_VM conditional on proc_mm since we need\n  separate address spaces now.\n\n- switch_mm_skas now just sets userspace_pid[0] to the new pid rather\n  than PTRACE_SWITCH_MM.  There is an addition to userspace which updates\n  its idea of the pid being manipulated each time around the loop.  This is\n  important on exec, when the pid will change underneath userspace().\n\n- The stub page has a pte, but it can\u0027t be mapped in using tlb_flush\n  because it is part of tlb_flush.  This is why it\u0027s required for it to be\n  mapped in by userspace_tramp.\n\nOther random things:\n\n- The stub section in uml.lds.S is page aligned.  This page is written\n  out to the backing vm file in setup_physmem because it is mapped from\n  there into user processes.\n\n- There\u0027s some confusion with TASK_SIZE now that there are a couple of\n  extra pages that the process can\u0027t use.  TASK_SIZE is considered by the\n  elf code to be the usable process memory, which is reasonable, so it is\n  decreased by two pages.  This confuses the definition of\n  USER_PGDS_IN_LAST_PML4, making it too small because of the rounding down\n  of the uneven division.  So we round it to the nearest PGDIR_SIZE rather\n  than the lower one.\n\n- I added a missing PT_SYSCALL_ARG6_OFFSET macro.\n\n- um_mmu.h was made into a userspace-usable file.\n\n- proc_mm and ptrace_faultinfo are globals which say whether the host\n  supports these features.\n\n- There is a bad interaction between the mm.nr_ptes check at the end of\n  exit_mmap, stack randomization, and skas0.  exit_mmap will stop freeing\n  pages at the PGDIR_SIZE boundary after the last vma.  If the stack isn\u0027t\n  on the last page table page, the last pte page won\u0027t be freed, as it\n  should be since the stub ptes are there, and exit_mmap will BUG because\n  there is an unfreed page.  To get around this, TASK_SIZE is set to the\n  next lowest PGDIR_SIZE boundary and mm-\u003enr_ptes is decremented after the\n  calls to init_stub_pte.  This ensures that we know the process stack (and\n  all other process mappings) will be below the top page table page, and\n  thus we know that mm-\u003enr_ptes will be one too many, and can be\n  decremented.\n\nThings that need fixing:\n\n- We may need better assurrences that the stub code is PIC.\n\n- The stub pte is set up in init_new_context_skas.\n\n- alloc_pgdir is probably the right place.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0877f07e85a46e4fde32bd84f08551d360839fe",
      "tree": "97e29c30e5f1ee7f06f5cdd4760291d3bba6640e",
      "parents": [
        "41f2148a67f28803d64bf5ff538591af90a5ab57"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Sat Jun 25 14:55:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:35 2005 -0700"
      },
      "message": "[PATCH] uml: fork cleanup\n\nFix the do_fork calling convention: normal arch pass the regs and the new sp\nvalue to do_fork instead of NULL.\n\nCurrently the arch-independent code ignores these values, while the UML code\n(actually it\u0027s copy_thread) gets the right values by itself.\n\nWith this patch, things are fixed up.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "350d5bd84ecda038bb482ab5f2596bdca68109d9",
      "tree": "42a1e0f4b0499fb3f7d90e64ebc381b09dc193d6",
      "parents": [
        "2a96206559a8c3a18478a6288ac426d716bbd99c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Jun 25 14:55:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:34 2005 -0700"
      },
      "message": "[PATCH] uml: fix sizeof usage\n\nSize of pointer doesn\u0027t seem right, but maybe my solution isn\u0027t either\n(sig_size maybe?).\n\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "60b2737de1b1ddfdb90f3ba622634eb49d6f3603",
      "tree": "a352eda5ca213cdae0a2eabd6693b8a4f573e38f",
      "parents": [
        "b77d6adc922b8bbf8b16b67f567958c42962cf88"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Tue Jun 21 17:16:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:32 2005 -0700"
      },
      "message": "[PATCH] uml: fix linkage of tt mode against NPTL\n\nWith Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\n\nTo make sure switcheroo() can execute when we remap all the executable\nimage, we used a trick to make it use a local copy of errno...  this trick\ndoes not work with NPTL glibc, only with LinuxThreads, so use another\n(simpler) one to make it work anyway.\n\nHopefully, a lot improved thanks to merging with the version of Al Viro\n(which had his part of problems, though, i.e.  removing a fix to another\nbug and not fixing the problem on i386).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b3461034d7d46455060c8476910be22b6b0fc313",
      "tree": "d5ebcf803116eb3c5800189ebb065df28c994d07",
      "parents": [
        "37fce857bec00d26d0e8251c909da2bd8736c949"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat May 28 15:52:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat May 28 16:46:13 2005 -0700"
      },
      "message": "[PATCH] uml: stack dump fix\n\nCopy (and adapt) to UML the stack code dumper used in i386 when\nCONFIG_FRAME_POINTER is enabled.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "060e352236ece3325a684c72817fbacdac597574",
      "tree": "32d573bfa99e31a5318eda247246261fdd13cd3e",
      "parents": [
        "13479d52c7a61a18900d7f36730b7d3b43723d97"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri May 20 13:59:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri May 20 15:48:17 2005 -0700"
      },
      "message": "[PATCH] uml: Delay loop cleanups\n\nThis patch cleans up the delay implementations a bit, makes the loops\nunoptimizable, and exports __udelay and __const_udelay.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba9950c820e556e39cd26581826b5581a64fb641",
      "tree": "4ba37ce6b1852e95619ad3e6bd97a2032dd4c1fc",
      "parents": [
        "46f4e1b7d5fa3ddf2486bf69716c404147e38ebf"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Fri May 20 13:59:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri May 20 15:48:17 2005 -0700"
      },
      "message": "[PATCH] uml: small fixes left over from rc4\n\nSome changes that I sent in didn\u0027t make 2.6.12-rc4 for some reason.  This\nadds them back.  We have\n\tan x86_64 definition of TOP_ADDR\n\ta reimplementation of the x86_64 csum_partial_copy_from_user\n\tsome syntax fixes in arch/um/kernel/ptrace.c\n\tremoval of a CFLAGS definition in the x86_64 Makefile\n\tsome include changes in the x86_64 ptrace.c and user-offsets.h\n\ta syntax fix in elf-x86_64.h\nAlso moved an include in the i386 and x86_64 Makefiles to make the symlinks\nwork, and some small fixes from Al Viro.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "82c1c11bdd92d94f8fd620a3ea6c894eba37d4ed",
      "tree": "bc2ac7e025e250678261695a19e171f2991746c6",
      "parents": [
        "16c11163019879c0e1e69d3ec7d4574a80e9c77e"
      ],
      "author": {
        "name": "Bodo Stroesser",
        "email": "bstroesser@fujitsu-siemens.com",
        "time": "Fri May 06 21:30:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri May 06 22:09:29 2005 -0700"
      },
      "message": "[PATCH] uml: S390 preparation, peekusr/pokeusr defined by subarch\n\ns390 needs to change some parts of arch/um/kernel/ptrace.c.  Thus, the code\nregarding PEEKUSER and POKEUSER are shifted to arch/um/sys-\u003csubarch\u003e/ptrace.c.\n\nAlso s390 debug registers need to be updated, when singlestepping is switched\non / off.  Thus, setting/resetting of singlestepping is centralized in the new\nfunction set_singlestep(), which also inserts the macro\nSUBARCH_SET_SINGLESTEP(mode), if defined.\n\nFinally, s390 has the \"ieee_instruction_pointer\" in its\nregisters, which also is allowed to be read via\n\n  ptrace( PTRACE_PEEKUSER, getpid(), PT_IEEE_IP, 0);\n\nTo implement this feature, sys_ptrace inserts the macro\nSUBARCH_PTRACE_SPECIAL, if defined.\n\nSigned-off-by: Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fd861b682785f650114f4df53060d1be7fedecd",
      "tree": "eaa02425c2be79ac21ecc684a5b2a31d9f3320c2",
      "parents": [
        "7d37c6d52fce13008f20344790a81a6a5a0003b3"
      ],
      "author": {
        "name": "Bodo Stroesser",
        "email": "bstroesser@fujitsu-siemens.com",
        "time": "Thu May 05 16:15:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:38 2005 -0700"
      },
      "message": "[PATCH] uml: s390 preparation, delay moved to arch\n\ns390 has fast read access to realtime clock (nanosecond resolution).  So it\nmakes sense to have an arch-specific implementation not only of __delay, but\n__udelay also.\n\nSigned-off-by: Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d37c6d52fce13008f20344790a81a6a5a0003b3",
      "tree": "ebf98bc32d8c0e29627f7be8a4dd349a32efff1d",
      "parents": [
        "c52ac046757deebc514483e407dca39a9c774aa3"
      ],
      "author": {
        "name": "Bodo Stroesser",
        "email": "bstroesser@fujitsu-siemens.com",
        "time": "Thu May 05 16:15:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:38 2005 -0700"
      },
      "message": "[PATCH] uml: s390 preparation, checksumming done in arch code\n\nChecksum handling largely depends on the subarch.\n\nThus, I renamed i386 arch_csum_partial in arch/um/sys-i386/checksum.S back to\ncsum_partial, removed csum_partial from arch/um/kernel/checksum.c and shifted\nEXPORT_SYMBOL(csum_partial) to arch/um/sys-i386/ksyms.c.\n\nThen, csum_partial_copy_to and csum_partial_copy_from were shifted from\narch/um/kernel/checksum.c to arch/um/include/sysdep-i386/checksum.h and\ninserted in the calling functions csum_partial_copy_from_user() and\ncsum_and_copy_to_user().\n\nNow, arch/um/kernel/checksum.c is empty and removed.\n\nSigned-off-by: Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c578455a3eccf4dd7bd111e77129c301d6d67914",
      "tree": "b52def020bd10e1b8bffcf90e1e2a3c1b35010c8",
      "parents": [
        "ea66e8a3b6c4760e8fbf59b1becb6bd8e3dd5376"
      ],
      "author": {
        "name": "Bodo Stroesser",
        "email": "bstroesser@fujitsu-siemens.com",
        "time": "Thu May 05 16:15:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:36 2005 -0700"
      },
      "message": "[PATCH] uml: S390 preparation, abstract host page fault data\n\nThis patch removes the arch-specific fault/trap-infos from thread and\nskas-regs.\n\nIt adds a new struct faultinfo, that is arch-specific defined in\nsysdep/faultinfo.h.\n\nThe structure is inserted in thread.arch and thread.regs.skas and\nthread.regs.tt\n\nNow, segv and other trap-handlers can copy the contents from regs.X.faultinfo\nto thread.arch.faultinfo with one simple assignment.\n\nAlso, the number of macros necessary is reduced to\n\nFAULT_ADDRESS(struct faultinfo)\n    extracts the faulting address from faultinfo\n\nFAULT_WRITE(struct faultinfo)\n    extracts the \"is_write\" flag\n\nSEGV_IS_FIXABLE(struct faultinfo)\n    is true for the fixable segvs, i.e. (TRAP \u003d\u003d 14)\n    on i386\n\nUPT_FAULTINFO(regs)\n    result is (struct faultinfo *) to the faultinfo\n    in regs-\u003eskas.faultinfo\n\nGET_FAULTINFO_FROM_SC(struct faultinfo, struct sigcontext *)\n    copies the relevant parts of the sigcontext to\n    struct faultinfo.\n\nOn SIGSEGV, call user_signal() instead of handle_segv(), if the architecture\nprovides the information needed in PTRACE_FAULTINFO, or if PTRACE_FAULTINFO is\nmissing, because segv-stub will provide the info.\n\nThe benefit of the change is, that in case of a non-fixable SIGSEGV, we can\ngive user processes a SIGSEGV, instead of possibly looping on pagefault\nhandling.\n\nSince handle_segv() sikked arch_fixup() implicitly by passing ip\u003d\u003d0 to segv(),\nI changed segv() to call arch_fixup() only, if !is_user.\n\nSigned-off-by: Bodo Stroesser \u003cbstroesser@fujitsu-siemens.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ea66e8a3b6c4760e8fbf59b1becb6bd8e3dd5376",
      "tree": "dc3fff423be6f74aaf8cc4fffb0b493b7b06adae",
      "parents": [
        "fd7aab9c1a4705ed45fe01a7ff108ce9823b0830"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Thu May 05 16:15:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:36 2005 -0700"
      },
      "message": "[PATCH] uml: fix a ptrace call\n\nThis fixes write_ldt_entry to treat userspace_pid as an array.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2b8b611e9a4725ae558af4fa48cf7d9e2193e7ed",
      "tree": "82b70f850a945b9fac3b94ed634178f73a07457b",
      "parents": [
        "a31769ed3ee82198fd530cb1d79ee9c7f8eeb1d1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Thu May 05 16:15:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:35 2005 -0700"
      },
      "message": "[PATCH] uml: cross-build support : mk_thread\n\nmk_thread converted\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a31769ed3ee82198fd530cb1d79ee9c7f8eeb1d1",
      "tree": "d512ffff086b47597e7bb1b431aa65353b113cc5",
      "parents": [
        "6bae32d395b532959703462c21248fbeb9894e95"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Thu May 05 16:15:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:35 2005 -0700"
      },
      "message": "[PATCH] uml: cross-build support : kernel_offsets\n\nThe next group of helpers is a bit trickier - they want the constants similar\nto those in user-offsets.h, but we need target sc.h for it.  So we can\u0027t put\nthat into user-offsets (sc.h depends on it) and need the second generated\nheader for that stuff (kernel-offsets.h.  BFD...\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6bae32d395b532959703462c21248fbeb9894e95",
      "tree": "d690d7d3ee9525ae43c641e218d1804798782952",
      "parents": [
        "1cd3bc1c810c83fb8955035675165a644e0c9a84"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Thu May 05 16:15:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:34 2005 -0700"
      },
      "message": "[PATCH] uml: cross-build support: mk_sc\n\nDitto for mk_sc\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d0b9dc9be3919e9979eac59fd12e8f82b098325",
      "tree": "190a2421938f7bb94b5ab830b0513ef435bbcab1",
      "parents": [
        "fcddd72e3e2565f8b838ae71a3e716a67f616160"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@parcelfarce.linux.theplanet.co.uk",
        "time": "Thu May 05 16:15:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:34 2005 -0700"
      },
      "message": "[PATCH] uml: start cross-build support : mk_user_constants\n\nBeginning of cross-build fixes.  Instead of expecting that mk_user_constants\n(compiled and executed on the build box) will see the sizeof, etc.  for target\nbox, we do what every architecture already does for asm-offsets.  Namely, have\nuser-offsets.c compiled *for* *target* into user-offsets.s and sed it into the\nheader with relevant constants.  We don\u0027t need to reinvent any wheels - all\ntools are already there.\n\nThis patch deals with mk_user_constants.  It doesn\u0027t assume any relationship\nbetween target and build environment anymore - we pick all defines we need\nfrom user-offsets.h.  Later patches will deal with the rest of mk_...  helpers\nin the same way.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "776cfebb430c7b22c208b1b17add97f354d97cab",
      "tree": "a4029d17947423ff8cdf12757e3434eb31e0dcba",
      "parents": [
        "0c28130b5c9e8f0b153436d3dae39482e5a70af1"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu May 05 16:15:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:33 2005 -0700"
      },
      "message": "[PATCH] uml kbuild: avoid useless rebuilds\n\n- Fix some problems with usage of $(targets) (sometimes missing, sometimes\n  used badly) that trigger partial rebuilds when doing a rebuild.\n\n- At that purpose, also factor out some common code for symlinks creation.\n\n- Fix a x86-64 build warning, caused by -L/usr/lib, which is anyway useless,\n  and invalid in the x86-64 case.\n\nTested on x86_64 and x86.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e7b83ffc67e15791d9bf8b2a18e4f5fd0eb69b8",
      "tree": "21d245a8ebe9a36748b1f76ff9050ceeaeba926c",
      "parents": [
        "e9c527163d31da9f616e989a90429729525c5233"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun May 01 08:58:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:55 2005 -0700"
      },
      "message": "[PATCH] uml: fix syscall table by including $(SUBARCH)\u0027s one, for i386\n\nSplit the i386 entry.S files into entry.S and syscall_table.S which is\nincluded in the previous one (so actually there is no difference between them)\nand use the syscall_table.S in the UML build, instead of tracking by hand the\nsyscall table changes (which is inherently error-prone).\n\nWe must only insert the right #defines to inject the changes we need from the\ni386 syscall table (for instance some different function names); also, we\ndon\u0027t implement some i386 syscalls, as ioperm(), nor some TLS-related ones\n(yet to provide).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
